用到一个方法,创建NSNumber数字类似钱形式的。
+ (NSString *)formatShortPayment: (NSNumber *)payment {
if (![payment isEqual: [NSNull null]]) {
NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_GB"];
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setLocale: locale];
[formatter setNumberStyle: NSNumberFormatterCurrencyStyle];
if ([payment doubleValue] >= 1000.0) {
[formatter setMaximumFractionDigits: 0];
payment = [NSNumber numberWithFloat:([payment floatValue] / 1000)];
}
else {
}
return [formatter stringFromNumber: payment];
}
return nil;
}
如果数值小于1000.0要检测小数点后面的数字是不是.00,如果是就移除.00
比如:
25.00 => 25
13.29 => 13.29
不知道这个功能如何实现?多谢指点。
if (([payment doubleValue] - floor([payment doubleValue]) < 0.01) {
[formatter setMaximumFractionDigits: 0];
}
这样就行了。