Objective c 在指数目标c中显示大值
有人知道在客观上以指数形式显示大值吗? e、 g.1000000000Objective 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一样格式化,这意味着您可以根据需要指定小数位数、总宽度以及是否应
这个公式将以指数形式显示这个数字。这个答案假设您正在询问 如果您的目标是将数字
1000000000
转换为字符串1e10
,则使用e
或e
格式说明符:
NSString *exponent = [NSString stringWithFormat:@"%e", 10000000000];
使用%E
是指您希望在输出中使用大写E
而不是小写E
请注意,%e
和%e
可以像%f
一样格式化,这意味着您可以根据需要指定小数位数、总宽度以及是否应使用前导空格或零
有关打印的信息,请参见猜测:“显示”是指转换为文本格式进行显示或打印
如果是这样,那么为数值生成文本表示的两种主要方法是stringwithFormat:
(&friends)和NSNumberFormatter
其中第一个提供了类似Cprintf
的功能。例如:
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
相同的值,具体取决于值。