float abc = 20130401.0f;
NSLog(@"abc = %f",abc);
结果:
2013-04-08 15:47:38.963 CCLearnIphone [5034:c07] abc = 20130400.000000
使用double是一样的。
如何表达八位数?
我知道精度会丢失,但.000000不应该是1.0000000。
%f应为0.9xxxxx等
为什么.000000四舍五入为1.000000?
答案 0 :(得分:0)
你的号码对于浮点值来说太高了所以你必须像双倍一样改变它并删除数字末尾的'f'字符
double abc = 20130401.0;
NSLog(@"abc = %f",abc);
答案 1 :(得分:-1)
这是由于float
的精确度:大约7个十进制数字。
答案 2 :(得分:-1)
为什么.000000四舍五入为1.000000?
事实并非如此。 20130401舍入到20130400,因为20130400是float
可以表示的最接近的值。