tes*_*dtv 87 iphone cocoa-touch objective-c
我有一个双倍值22.368511我想将它舍入到2位小数.即它应该返回22.37
我怎样才能做到这一点?
Jas*_*ers 187
与大多数语言一样,格式为
%.2f
Run Code Online (Sandbox Code Playgroud)
你可以在这里看到更多的例子
编辑:如果你担心在25.00的情况下显示点,我也得到了这个
{
NSNumberFormatter *fmt = [[NSNumberFormatter alloc] init];
[fmt setPositiveFormat:@"0.##"];
NSLog(@"%@", [fmt stringFromNumber:[NSNumber numberWithFloat:25.342]]);
NSLog(@"%@", [fmt stringFromNumber:[NSNumber numberWithFloat:25.3]]);
NSLog(@"%@", [fmt stringFromNumber:[NSNumber numberWithFloat:25.0]]);
}
Run Code Online (Sandbox Code Playgroud)
Run Code Online (Sandbox Code Playgroud)2010-08-22 15:04:10.614 a.out[6954:903] 25.34 2010-08-22 15:04:10.616 a.out[6954:903] 25.3 2010-08-22 15:04:10.617 a.out[6954:903] 25
Sai*_*n K 70
您可以使用以下代码将其格式化为两位小数
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
[formatter setMaximumFractionDigits:2];
[formatter setRoundingMode: NSNumberFormatterRoundUp];
NSString *numberString = [formatter stringFromNumber:[NSNumber numberWithFloat:22.368511]];
NSLog(@"Result...%@",numberString);//Result 22.37
Run Code Online (Sandbox Code Playgroud)
斯威夫特4:
let formatter = NumberFormatter()
formatter.numberStyle = .decimal
formatter.maximumFractionDigits = 2
formatter.roundingMode = .up
let str = String(describing: formatter.string(from: 12.2345)!)
print(str)
Run Code Online (Sandbox Code Playgroud)
kra*_*ter 28
value = (round(value*100)) / 100.0;
Run Code Online (Sandbox Code Playgroud)
Cla*_*nas 11
在Swift 2.0和Xcode 7.2中:
let pi:Double = 3.14159265358979
String(format:"%.2f", pi)
Run Code Online (Sandbox Code Playgroud)
例:
要从double中删除小数,请查看此输出
对象C.
double hellodouble = 10.025;
NSLog(@"Your value with 2 decimals: %.2f", hellodouble);
NSLog(@"Your value with no decimals: %.0f", hellodouble);
Run Code Online (Sandbox Code Playgroud)
输出将是:
10.02
10
Run Code Online (Sandbox Code Playgroud)
Swift 2.1和Xcode 7.2.1
let hellodouble:Double = 3.14159265358979
print(String(format:"Your value with 2 decimals: %.2f", hellodouble))
print(String(format:"Your value with no decimals: %.0f", hellodouble))
Run Code Online (Sandbox Code Playgroud)
输出将是:
3.14
3
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
104233 次 |
| 最近记录: |