0

我只是在 ios 中乘以两个非常大的值。

            value 1 999999999999
            value 2 99999

我将数据类型用作双长,即长长,这仅适用于太大的值,但不适用于像 10*23 这样的小值,我得到不同的答案示例

           10.0*111.5 actual value in calculator is 1115 but i wat i get is 1110

请帮助我,我也想将我的答案四舍五入到 %.3f 之类的 3 个地方

4

1 回答 1

1

这可能是你正在做的

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

如果由于某种原因双倍还不够,你可以去long double

于 2012-12-03T09:30:11.453 回答