对大数字执行计算时,如何以正确的String格式正确输出结果以供最终用户查看?我已经尝试了NSString的不同格式说明符,并将结果与iOS Calculator应用程序显示的结果进行了比较,并且一些结果不一样。理想情况下,它会完全匹配iOS计算器结果。
我知道它需要以十进制格式显示,直到数字足够大,此时它需要以科学记数法显示。因此我认为%g
是正确的说明符。但它与相同计算的内置计算器不匹配。
[NSString stringWithFormat:@"%g", calcResult] //where calcResult is a double
一些例子:
123456.7 * 1应显示为123456.7但显示为123457(令人费解!)
123456789 * 1应显示为123456789,但显示为1.23457e + 08
123456789 * 123456789应显示为1.524158e + 16但显示为1.52416e + 16
另外,如何在结果中显示逗号(或句点取决于区域设置)?是否有其他说明符可用于获取iOS计算器显示的确切格式?