我只是在 ios 中将两个非常大的值相乘。
value 1 999999999999
value 2 99999
我使用的数据类型为 double long,即 long long,这仅适用于太大的值,但不适用于像 10*23 这样的小值,我得到不同的答案示例
10.0*111.5 actual value in calculator is 1115 but i wat i get is 1110
请帮助我,我也想将我的答案四舍五入到 %.3f 等 3 个地方
最佳答案
这可能就是你正在做的
long long left = 111.5; //Not good! Will truncate to 111
long long right = 10.0; //10
long long result = left * right; //111 * 10 = 1110
这就是你应该做的
double left = 111.5;
double right = 10.0;
double result = left * right; //111.5 * 10.0 = 1115.0
如果由于某种原因 double 不够,您可以选择 long double
。
关于ios 执行大数计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13680267/