用到一個方法,創建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];
}
這樣就行了。