0
我正在處理的是有時會積分的數值,有時是1個小數,有時是2個小數。我想找到一種方法來顯示這些數字儘可能少的小數點。所以1總是1而不是1.0或1.00,而2.5743將是2.57。有沒有辦法自動做這個斜槓在iOS SDK中有幫助嗎?根據數值的不同,自動顯示小數點後的小數點
我正在處理的是有時會積分的數值,有時是1個小數,有時是2個小數。我想找到一種方法來顯示這些數字儘可能少的小數點。所以1總是1而不是1.0或1.00,而2.5743將是2.57。有沒有辦法自動做這個斜槓在iOS SDK中有幫助嗎?根據數值的不同,自動顯示小數點後的小數點
使用NSNumberFormatter
與maximumFractionDigits
設置爲2
@import Foundation;
int main(int argc, const char * argv[])
{
@autoreleasepool {
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
formatter.maximumFractionDigits = 2;
NSLog(@"%@", [formatter stringFromNumber:@(1)]);
NSLog(@"%@", [formatter stringFromNumber:@(1.0)]);
NSLog(@"%@", [formatter stringFromNumber:@(2.5743)]);
NSLog(@"%@", [formatter stringFromNumber:@(2.5)]);
NSLog(@"%@", [formatter stringFromNumber:@(2.7)]);
NSLog(@"%@", [formatter stringFromNumber:@(2.699)]);
NSLog(@"%@", [formatter stringFromNumber:@(2.71001)]);
}
return 0;
}
輸出:
2016-02-04 13:46:36.002 commandLine[27474:1266926] 1
2016-02-04 13:46:36.002 commandLine[27474:1266926] 1
2016-02-04 13:46:36.003 commandLine[27474:1266926] 2.57
2016-02-04 13:46:36.003 commandLine[27474:1266926] 2.5
2016-02-04 13:46:36.003 commandLine[27474:1266926] 2.7
2016-02-04 13:46:36.003 commandLine[27474:1266926] 2.7
2016-02-04 13:46:36.003 commandLine[27474:1266926] 2.71
據我所知,有沒有一些「刪除所有尾隨零」屬性,你可以使用。我會建議使用'NSRange'和'NSString .length'屬性和幾個if語句來檢查最後一位數字是否爲「0」。 –