Jan*_*Jan 2 floating-point cocoa cocoa-touch numbers nsstring
我的视图中有两个文本字段.提示用户输入值后,我将它们转换为floats来进行计算.
我使用以下代码:
variable1 = [textField1.text floatValue];
variable2 = [textField2.text floatValue];`
Run Code Online (Sandbox Code Playgroud)
当用户输入22.8英寸时textField1,我得到22.80005英寸variable1.
我没有得到确切的价值!
如何获得精确的十进制值?任何添加都可能影响计算的准确性.
关于浮点精度的另一个问题就是如此!
您应该使用NSDecimalNumber:
NSDecimalNumber *variable1 = [NSDecimalNumber decimalNumberWithString:[textField1 text]];
NSDecimalNumber *variable2 = [NSDecimalNumber decimalNumberWithString:[textField2 text]];
Run Code Online (Sandbox Code Playgroud)
" 数字和值编程指南"中有更多信息.