0

我正在尝试用大量数字进行计算。例如:

22352794900029489130063309832192 / 1000000000000000000000000000000

我希望结果为 22.35279490(首选十进制),但如果我使用 BigInteger,结果会四舍五入为 22。

.NET 是否有类似于 uint128 的东西?

这样做的最佳做法是什么?

4

1 回答 1

1

为了保持精度,请考虑先将 BigInteger 值转换为双精度值,然后再除。

BigInteger a = BigInteger.Parse("22352794900029489130063309832192");
BigInteger b = BigInteger.Parse("1000000000000000000000000000000");
double da = (double)a;
double db = (double)b;
double result = da / db;
于 2021-04-18T16:42:00.717 回答