2016-12-14 63 views
0

在我的測試中,當我用NSStringstringWithFormat:@"%.2f"方法保留兩位小數。如何保持兩位小數的位置正確?

  • [NSString stringWithFormat:@"%.2f", 9999.999]; 結果是: 10000.00

  • [NSString stringWithFormat:@"%.2f", 9999.99]; 結果是:9999.99

  • [NSString stringWithFormat:@"%.2f", 9999.9912]; 結果是:9999.99

我的要求是不管float是什麼,我只想保留兩位小數,比如9999.999 - >9999.99,不是我們看到第一個例子的結果,怎麼用這個?

+2

使用NSNumberFormatter – GeneCode

回答

2

嘗試此代碼

1)Objective-c

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init]; 
[formatter setNumberStyle:NSNumberFormatterDecimalStyle]; 
[formatter setMaximumFractionDigits:2]; 
[formatter setRoundingMode: NSNumberFormatterRoundDown]; 

NSString *numberString = [formatter stringFromNumber:[NSNumber numberWithFloat:99.9999]]; 
NSLog(@"numberString - %@",numberString); 

2)在swift

let formatter:NumberFormatter = NumberFormatter.init() 
formatter.numberStyle = .decimal 
formatter.maximumFractionDigits = 2 
formatter.roundingMode = .down 
let numberString = formatter.string(from: NSNumber.init(value: 99.9999)) 
print("numberString - \(numberString!)")