我的浮动变量有问题,我必须做一些操作然后我有一个最后的数字,我看到的是有时候数字不正确,但只是为了一点,例如当我有这个数字我尝试打印它我不会给我相同的数字:
float myNumber = 27589353.0f;
NSLog(@"My Number is %.2f", myNumber);
结果是:My Number is 27589352.00
我试过把变量加倍,但我有同样的问题。
答案 0 :(得分:1)
问题在于花车没有足够的精确度,正如Maddy在上面的评论中所说的那样。
这段代码:
double myNumber = 27589353.0f;
NSLog(@"My Number is %.2f", myNumber);
无论是因为常量上的“f”限定符强制数字为浮点数,导致精度损失,然后在损坏完成后将值提升为double。
但是,此代码可以正常工作:
double myNumber = 27589353.0;
NSLog(@"My Number is %.2f", myNumber);
(请注意,我正在使用小数分配浮点值,但没有最终的“f”
答案 1 :(得分:-1)
尝试它的工作,你必须删除'f'以及
double myNumber = 27589353.0;
NSLog(@"My Number is %.2f", myNumber);