簡體   English   中英

NSNumberFormatter numberFromString問題

[英]NSNumberFormatter numberFromString issue

我需要從UITextfield中獲取一個字符串並將其格式化為以下格式:

4.99999 -> 4.999
4.12    -> 4.12
.89     -> 0.89

NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setNumberStyle:NSNumberFormatterDecimalStyle];
[numberFormatter setMaximumFractionDigits:3];
[numberFormatter setPositiveFormat:@"##0.###"];

DLog(@"formatted number %@",[numberFormatter numberFromString:string]);

問題是,當我在文本字段中鍵入0.999978且格式化的數字為0.999978(不正確)時,它應該為0.999

試試看:

NSNumber  *aNum = [NSNumber numberWithDouble:[string doubleValue]];
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setNumberStyle:NSNumberFormatterDecimalStyle];
[numberFormatter setPositiveFormat:@"##0.###"];
[numberFormatter setRoundingMode:NSNumberFormatterRoundFloor];

DLog(@"formatted string %@",[numberFormatter stringFromNumber:aNum]);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM