如何尽可能准确地将 double 转换为 BigInteger? BigInteger 没有 valueOf(double) 方法。它确实有一个 valueOf(long) 方法,但是通过 long 进行转换,会破坏 2^64 范围之外的任何值,特别是我试图获取像 1e100 这样的大数字,以将其相应的整数值转换为 16 或浮点精度允许如此重要的数字。
最佳答案
您可以将 double 转换为 BigDecimal,然后转换为 BigInteger:
BigInteger k = BigDecimal.valueOf(doublevalue).toBigInteger();
关于java - 将 double 转换为 BigInteger,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48785161/