2

我有 NSNumber 和 NSResultFormatter,它们将数字转换为字符串并显示在屏幕上。

大数的科学形式输出是“1.345e10”,小数的输出是“1.345e-10”。

我想将大数字输出为“1.345e+10”,就像在标准 iOS calc 应用程序中一样。我该怎么做?

4

1 回答 1

4

您可以通过设置自定义数字格式来实现,例如:

NSNumberFormatter *fmt = [[NSNumberFormatter alloc] init];
[fmt setExponentSymbol:@"e"];
[fmt setPositiveFormat:@"0.###E+0"];
NSString *s = [fmt stringFromNumber:@(12345678900)];
// 1.235e+10

自定义数字格式记录在http://www.unicode.org/reports/tr35/tr35-25.html#Number_Format_Patterns中。

于 2013-11-03T13:45:08.933 回答