我使用以下代码通过添加千分隔点来格式化字符串数字:
NSDecimalNumber *decimalNumber = [NSDecimalNumber decimalNumberWithString:@"0.000"];
NSLog(@"decimalNumber = %@",decimalNumber);
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setGroupingSeparator:@"."];
[numberFormatter setGroupingSize:3];
[numberFormatter setUsesGroupingSeparator:YES];
[numberFormatter setDecimalSeparator:@","];
[numberFormatter setMaximumFractionDigits:9];
NSString *finalString = [numberFormatter stringFromNumber:decimalNumber];
NSLog(@"finalString = %@",finalString);
如果我想格式化@"0.000" 字符串(不一定是3个零,可以少也可以多)我有以下日志输出:
decimalNumber = 0
finalString = 0
但我想要的是保留小数零,即在这种情况下,我的字符串必须保持不变。我发现在创建 NSDecimalNumber
时这些零丢失了,我需要另一种方法。可以是什么?
最佳答案
添加这个:
[numberFormatter setMinimumFractionDigits:3];
关于ios - 使用 NSNumberFormatter 格式化 NSDecimalNumber 时丢失小数零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22015009/