Objective c 在指数目标c中显示大值

Objective c 在指数目标c中显示大值,objective-c,math,Objective C,Math,有人知道在客观上以指数形式显示大值吗? e、 g.1000000000 这个公式将以指数形式显示这个数字。这个答案假设您正在询问 如果您的目标是将数字1000000000转换为字符串1e10,则使用e或e格式说明符: NSString *exponent = [NSString stringWithFormat:@"%e", 10000000000]; 使用%E是指您希望在输出中使用大写E而不是小写E 请注意,%e和%e可以像%f一样格式化,这意味着您可以根据需要指定小数位数、总宽度以及是否应

有人知道在客观上以指数形式显示大值吗? e、 g.1000000000
这个公式将以指数形式显示这个数字。

这个答案假设您正在询问

如果您的目标是将数字
1000000000
转换为字符串
1e10
,则使用
e
e
格式说明符:

NSString *exponent = [NSString stringWithFormat:@"%e", 10000000000];
使用
%E
是指您希望在输出中使用大写
E
而不是小写
E

请注意,
%e
%e
可以像
%f
一样格式化,这意味着您可以根据需要指定小数位数、总宽度以及是否应使用前导空格或零

有关打印的信息,请参见猜测:“显示”是指转换为文本格式进行显示或打印

如果是这样,那么为数值生成文本表示的两种主要方法是
stringwithFormat:
(&friends)和
NSNumberFormatter

其中第一个提供了类似C
printf
的功能。例如:

double val = 10000000000;
NSString *text = [NSString stringWithFormat:@"%g", val];
NSNumberFormatter *formatter = [NSNumberFormatter new];
formatter.numberStyle = NSNumberFormatterScientificStyle;
NSString *text = [formatter stringFromNumber:@(val)];
text
设置为字符串
1e+10
。此示例使用
%g
格式,还有其他格式,如
%f
,可以指定格式,如小数位数-有关更多详细信息,请参阅文档

第二个提供了一个基于对象的工具。例如:

double val = 10000000000;
NSString *text = [NSString stringWithFormat:@"%g", val];
NSNumberFormatter *formatter = [NSNumberFormatter new];
formatter.numberStyle = NSNumberFormatterScientificStyle;
NSString *text = [formatter stringFromNumber:@(val)];
text
设置为字符串
1E10
。还可以设置其他属性来控制格式的许多方面,并且
NSNumberFormatter
处理数字格式的国际差异(例如,对于那些使用逗号(
)作为小数点指示器而不是点(
)的国家)。再次阅读文档


HTH

您的号码是
1e10
,但您到底想显示什么位置和原因?请注意
%g
将显示与
%f
%e
相同的值,具体取决于值。