gpt4 book ai didi

java - BigDecimal 变得四舍五入..但我不想要任何四舍五入

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:57:47 25 4
gpt4 key购买 nike

在我的代码中,我想在不进行任何舍入或取幂的情况下插入 db ..但是当我将 sop 用作 2.631578947368421E-7 时,它在我的 java 代码中被转换

下面是我使用的代码:

BigDecimal a =new BigDecimal(0.0000002631578947368421052631578947368421052632,MathContext.DECIMAL64);
System.out.println(a);

我只是希望它保持原样,因为我想做一些计算。

请给我一个合适的解决方案。

最佳答案

构造大十进制using a String ,否则您输入的常量在作为参数传递给 BigDecimal 的构造函数之前会被四舍五入。

所以写这样的东西:

BigDecimal a =new BigDecimal("0.0000002631578947368421052631578947368421052632");
System.out.println(a.toPlainString());

一切都应该有效。

编辑:您还应该去掉构造函数的第二个参数,因为static MathContext.DECIMAL64 表示:一个 MathContext 对象,其精度设置与 IEEE 754R Decimal64 格式匹配,16 位,舍入模式为 HALF_EVEN,IEEE 754R 默认值。

EDIT2:打印时也使用 a.toPlainString() 不使用科学记数法。

关于java - BigDecimal 变得四舍五入..但我不想要任何四舍五入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14686052/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com