nfa*_*chi 8 floating-point objective-c rounding
我想知道是否有一个简单的函数,我可以使用这样的样本.我有一个
float value = 1.12345;
Run Code Online (Sandbox Code Playgroud)
我想通过调用类似的东西来围绕它
float value2 = [roundFloat value:value decimal:3];
NSLog(@"value2 = %f", value2);
Run Code Online (Sandbox Code Playgroud)
我得到"1.123"是否有任何Library或默认功能,或者我应该为这种类型的计算编写代码块?
感谢您的帮助
使用NSLog(@"%f", theFloat)始终输出六位小数,例如:
float theFloat = 1;
NSLog(@"%f",theFloat);
Run Code Online (Sandbox Code Playgroud)
输出:
1.000000
Run Code Online (Sandbox Code Playgroud)
换句话说,你将无法1.123使用NSLog(@"%f", theFloat).
三位小数后截止:
float theFloat = 1.23456;
float newFLoat = (int)(theFloat * 1000.0) / 1000.0;
NSLog(@"%f",newFLoat);
Run Code Online (Sandbox Code Playgroud)
输出:
1.234000
Run Code Online (Sandbox Code Playgroud)
舍入到三位小数(使用roundf()/ lroundf()/ ceil()/ floor()):
float theFloat = 1.23456;
float newFLoat = (int)(roundf(theFloat * 1000.0)) / 1000.0;
NSLog(@"%f",newFLoat);
Run Code Online (Sandbox Code Playgroud)
输出:
1.235000
Run Code Online (Sandbox Code Playgroud)
舍入到三位小数(脏路):
float theFloat = 1.23456;
NSString *theString = [NSString stringWithFormat:@"%.3f", theFloat];
float newFloat = [theString floatValue];
NSLog(@"%@",theString);
NSLog(@"%f",newFloat);
Run Code Online (Sandbox Code Playgroud)
输出:
1.235
1.235000
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8164 次 |
| 最近记录: |