我正在尝试进行一些数字舍入和转换为字符串以增强Objective-C程序中的输出.
我有一个浮点值,我想要舍入到最近的.5然后用它来设置标签上的文本.
例如:
1.4将是一串:1.5
1.2将是一串:1
0.2将是一个字符串:0
我花了一段时间在Google上寻找答案但是,作为Objective-C的菜鸟,我不知道该搜索什么!所以,我真的很感激指向正确的方向!
谢谢,阿什
我想知道是否有一种方法可以轻松安全地纠正浮点数.
例如,
输入时:"32 + 32.1"结果:"64.0999999999999"
此外,我必须提到,使用科学记数法时,这种情况经常发生."(2.3*10 ^ 23)*(1.452*10 ^ 23)"返回:"3.339599999999999999e + 46"
最后,有时返回的数字是:ex.123.0000000000001
谢谢您的帮助!
编辑
得到批准的答案很棒.但我发现对我有用的是在NSString stringWithFormat中使用%g和double.%g似乎非常恰当地围绕一切.恩.
answer.text = [NSString stringWithFormat@" %g ", doubleAnswer];
Run Code Online (Sandbox Code Playgroud)
在计算中使用双打,然后使用该方法似乎对我有用,我希望这对其他人也有帮助.如果这不是您要找的答案,请查看已批准的答案!
我试图格式化float如下:
1.1500将显示为"$ 1.15"
1.1000将显示为"$ 1.10"
1.0000将显示为"$ 1.00"
1.4710将显示为"$ 1.471"
1.4711将显示为"$ 1.4711"
我试过了
NSString *answer = [NSString stringWithFormat:@"$ %.2f",myvalue];
Run Code Online (Sandbox Code Playgroud) cocoa ×3
cocoa-touch ×2
objective-c ×2
formatting ×1
ios ×1
iphone ×1
macos ×1
rounding ×1
xcode ×1