現(xiàn)做如下優(yōu)化:要求保留最多兩位小數(shù)安皱,且四舍不入衫樊,若第二位小數(shù)為0則去掉,若兩位小數(shù)都為0則只保留整數(shù)部分
-(void)test{
/*
string 類型轉(zhuǎn)float后,小數(shù)點(diǎn)后面會多出幾位數(shù)谱秽,這樣我進(jìn)行生巡,大小比較時就出問題耙蔑,
比如 string = @"10.01"
轉(zhuǎn)成 float后, 有的會變成10.01001
有時好像會變成孤荣,10.009999
---轉(zhuǎn)成雙精度浮點(diǎn)型double可解決:
*/
//float num = 99.001;
double num = [@"99.105900" doubleValue]; //用雙精度浮點(diǎn)型double解決
NSLog(@"doubleValue---%lf",num);
NSNumber *number = @(num);
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
formatter.roundingMode = NSNumberFormatterRoundFloor;
formatter.maximumFractionDigits = 2; //保留最多兩位小數(shù)(99.00->99;99.01->99.01;99.10->99.1)
NSLog(@"字符串最多保留兩位小數(shù)且四舍不入--%@", [formatter stringFromNumber:number]); // 99.99
NSLog(@"字符串保留兩位小數(shù)且四舍五入--%.2lf", num); // --100.00
}