squ*_*rog 2 iphone objective-c nsnumber nsnumberformatter ios
我有一个方法,从NSNumber创建一个钱样式字符串.
+ (NSString *)formatShortPayment: (NSNumber *)payment {
if (![payment isEqual: [NSNull null]]) {
// Set locale to GB
NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_GB"];
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setLocale: locale];
[formatter setNumberStyle: NSNumberFormatterCurrencyStyle];
// If the payment is 1000 or over, get rid of fraction numbers
if ([payment doubleValue] >= 1000.0) {
[formatter setMaximumFractionDigits: 0];
payment = [NSNumber numberWithFloat:([payment floatValue] / 1000)];
}
else {
// Here's where I want to check if the value ends with .00 or not
}
// Return clean number
return [formatter stringFromNumber: payment];
}
return nil;
}
Run Code Online (Sandbox Code Playgroud)
这很好用,但如果值<1000.0我想检查尾随的数字是什么,如果等于.00则删除它们.
例如:25.00 => 25 13.29 => 13.29
我不确定如何最好地完成这个.有什么建议?
Maz*_*yod 10
if (([payment doubleValue] - floor([payment doubleValue]) < 0.01) {
[formatter setMaximumFractionDigits: 0];
}
Run Code Online (Sandbox Code Playgroud)
这应该工作.
| 归档时间: |
|
| 查看次数: |
1027 次 |
| 最近记录: |