当我执行以下操作时,输出为整数值:
double myvar = fabs(-5.01);
NSLog(@"%.f", myvar);
应该是5.01吗?
答案 0 :(得分:11)
.
中的"%.f"
(后面没有数字)表示精度为0的格式(对于浮点数,表示舍入到最接近的整数)。你可能只想要“%f”
有关格式说明符的说明,请参阅http://www.cplusplus.com/reference/clibrary/cstdio/printf/(我收集NSLog
格式说明符是printf
个的超集)
答案 1 :(得分:0)
输出是什么?你试过@"%f"
吗?但是,是的。它应该返回5.01。但是,由于它是浮点数,因此精度可能会被关闭。
答案 2 :(得分:0)
请使用
double myvar = fabs(-5.01);
NSLog(@"%.2f", myvar);
由于%.f
表示在.
之后必须没有值,所以如果你想要2个小数点,你需要写%.2f
快乐的编码......