具有三位重要数字的科学记数法

时间:2013-09-04 02:32:21

标签: objective-c scientific-notation

有没有办法在目标c中使用科学记数法,并且只显示三位有效数字?我目前使用的是:

string = [NSString stringWithFormat:@"%e", floatNumber];
// floatNumber = 100000; string = 1.000000e+06

我只想要string = 1.00e + 06

1 个答案:

答案 0 :(得分:2)

使用格式说明符“.2”,如下所示:

    string = [NSString stringWithFormat:@"%.2e", floatNumber];

From apple's documentation:

  

NSString格式化方法和CFString格式化函数支持的格式说明符遵循IEEE printf规范......

IEEE printf specification开始,如果您在“说明”部分下阅读,您会发现:

  

e,E

     
    

双参数应以“[ - ] d.ddde±dd”样式转换,其中基数字符前有一位数(如果参数非零,则为非零)和数字等于精度后的数字;如果精度不足,则应视为6;如果精度为零且没有'#'标志,则不会出现基数字符。低位数字应以实现定义的方式舍入。 E转换说明符应产生一个带有'E'而不是'e'的数字来引入指数。指数应始终包含至少两位数。如果该值为零,则指数应为零。

  
相关问题