【发布时间】:2011-10-13 09:18:04
【问题描述】:
我将我通过字符串接收的一些信息转换为浮点数以获得所有信息的总和。
问题是当我转换浮点数时,例如:
myString = @"13502.63"
float *f = [myString floatValue];
NSLog(@"Converted %f", f);
“f”的结果是13502.629883
这对于某些值来说是可以的,但是当我必须添加大量的这个值时,这些额外的小数会使结果不正确。
有人可以帮帮我吗?
谢谢
【问题讨论】:
-
多余的小数导致结果不正确是什么意思?
-
有些值不能准确表示。当您尝试将该值存储在浮点数中时,您实际上获得了最接近的可表示值。当您对浮点数执行一系列操作时,您可能会失去准确性。请改用
NSDecimalNumber。
标签: objective-c floating-point int