小数的问题
char buff[10];
double aaa = 111.111111;
整数舍去,想得到小数点后3位即
字符串 ".111";
函数怎样写才好
问题点数:70、回复次数:8Top
1 楼steedhorse(晨星)回复于 2006-07-04 17:36:33 得分 55
sprintf(buf, "%.3f", aaa);Top
2 楼steedhorse(晨星)回复于 2006-07-04 17:37:23 得分 0
哦,sorry,没看清,整数部分不要的。。。。Top
3 楼steedhorse(晨星)回复于 2006-07-04 17:37:57 得分 0
那就:
sprintf(buf, "%.3f", aaa - (int)aaa);Top
4 楼redtank2005(菜鸟)回复于 2006-07-04 17:40:45 得分 0
谢谢了
这样会是0.111
想要.111了Top
5 楼steedhorse(晨星)回复于 2006-07-04 17:42:44 得分 0
char* p = buf + 1;
p就是你想要的。:PTop
6 楼steedhorse(晨星)回复于 2006-07-04 17:52:31 得分 0
要么就只能这么BT了:
sprintf(buf, ".%03d", (int)(1000 * (aaa - (int)aaa)));
-_-Top
7 楼yingge(...木脑壳...)回复于 2006-07-04 18:00:23 得分 15
按照steedhorse(晨星) 说的sprintf(buf, "%.3f", aaa - (int)aaa);这样
char* p = buf + 1;这样最好了。
如果楼主非要用buf的话
那就再
int i;
for(i=0;i<5;i++){
buf[i]=buf[i+1];
}
Top
8 楼cc203203(为了过日子!)回复于 2006-07-23 10:36:23 得分 0
look!Top




