Objective c 打印带有有效数字但不带科学符号的双精度

Objective c 打印带有有效数字但不带科学符号的双精度,objective-c,string-formatting,Objective C,String Formatting,我想在中使用printf样式的格式字符串 + stringWithFormat: 将一个双精度数转换成一个有两个有效数字但没有科学符号的字符串。%。2g使用科学记数法,%.2f限制为小数点后的数字,而不是有效数字。我希望0.000232变成0.00023,而不是0.00或3.4e-2。 这可能吗?我相信这个代码块会解决您的问题 NSNumberFormatter *format = [[NSNumberFormatter alloc] init]; [format setNumberStyle

我想在中使用printf样式的格式字符串

+ stringWithFormat:
将一个双精度数转换成一个有两个有效数字但没有科学符号的字符串。%。2g使用科学记数法,%.2f限制为小数点后的数字,而不是有效数字。我希望0.000232变成0.00023,而不是0.00或3.4e-2。
这可能吗?

我相信这个代码块会解决您的问题

NSNumberFormatter *format = [[NSNumberFormatter alloc] init];
[format setNumberStyle:NSNumberFormatterDecimalStyle];
[format setMaximumSignificantDigits:2];
NSNumber *numb = [NSNumber numberWithDouble:0.000232];
NSString *txt = [format stringFromNumber:numb];
NSLog(@"%@",txt);
我创建了一个具有十进制样式编号的格式化程序,并将其有效数字设置为2。您可以更改最大有效位数以满足您的需要。我希望这会有帮助。

您看过NSNumberFormatter吗?