x=(int)(x*100+0.5)/100.0;x是float型为什么能将x中的数值保留到小数点后两位,并将第三位四舍五入?
来源:百度知道 编辑:UC知道 时间:2024/06/25 18:35:18
谢谢了!
x*100把小数点后第三位移到小数点后第一位了,这一位的数字我们叫a
如果a>=5,加上0.5之后就进位了;如果a<5,就不会进位
强制转换成int,去掉小数部分
再除以100,把a的位置移回去。
这样四舍五入就完成了。
3.44678->344.678->345.178->345->3.45
3.44178->344.178->344.678->344->3.44
可能是这样的啊,本来x是可以保留6位的,但是x乘了100此后,为了使保持一致,他必须向保留到小数点后两位,我可能说的不太清楚,如果你要弄懂它,我建议你去找一个教c语言的老师或者去看参考书。不过我发现你还是很细心的,这么细致的问题都发现了,真让人佩服。
int x;x=123; x=x%1000/100 …………是怎样运算的
int f(int x)是什么意思
int x,y;x=3.y=4.y=(x++,++x,x+y,x++).x=?,y=?
x,y 都是int, x++=y++ 为什么错?
请问int x,*p=&x;这样的形式对吗?
yt=int(subs(f1,t,x)*subs(f2,t,t-x),x,0,t) 解释下下
有下定义 int x=5,y;y=x--&&(++x)||x--;求X,y的值
设 int x= -1;执行表达式++x||++x||++x;后x的值为何是1吗?
形参中 int 和int x的区别
x=1 for y +1 to 5 x=x*y endfor ?int(x/5),int(x/y) return 写出程序运行的结果?