我的 View 中有两个文本字段。提示用户输入值后,我将它们转换为浮点型以进行计算。
我使用以下代码:
variable1 = [textField1.text floatValue];
variable2 = [textField2.text floatValue];`
当用户在 textField1
中输入 22.8 时,我在 variable1
中得到 22.80005。
我没有得到确切的值!
如何获得精确的十进制值?任何添加都可能影响计算的准确性。
最佳答案
还有一个关于浮点精度的问题!
您应该使用NSDecimalNumber
代替:
NSDecimalNumber *variable1 = [NSDecimalNumber decimalNumberWithString:[textField1 text]];
NSDecimalNumber *variable2 = [NSDecimalNumber decimalNumberWithString:[textField2 text]];
关于cocoa - 将 NSString 转换为 float 会产生不精确的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9455001/