gpt4 book ai didi

java - 如何使用 BigDecimal 正确除法

转载 作者:行者123 更新时间:2023-12-02 04:45:32 24 4
gpt4 key购买 nike

我的代码示例:

import java.math.*; 

public class x
{
public static void main(String[] args)
{
BigDecimal a = new BigDecimal("1");
BigDecimal b = new BigDecimal("3");
BigDecimal c = a.divide(b, BigDecimal.ROUND_HALF_UP);
System.out.println(a+"/"+b+" = "+c);
}
}

结果是:1/3 = 0

我做错了什么?

最佳答案

您尚未指定结果的范围。请尝试这个

2019 年编辑:更新了 JDK 13 的答案。因为希望您现在已经从 JDK 1.5 迁移了。

import java.math.BigDecimal;
import java.math.RoundingMode;

public class Main {

public static void main(String[] args) {
BigDecimal a = new BigDecimal("1");
BigDecimal b = new BigDecimal("3");
BigDecimal c = a.divide(b, 2, RoundingMode.HALF_UP);
System.out.println(a + "/" + b + " = " + c);
}

}

请阅读JDK 13文档。

JDK 1.5 的旧答案:

import java.math.*; 

public class x
{
public static void main(String[] args)
{
BigDecimal a = new BigDecimal("1");
BigDecimal b = new BigDecimal("3");
BigDecimal c = a.divide(b,2, BigDecimal.ROUND_HALF_UP);
System.out.println(a+"/"+b+" = "+c);
}
}

这将给出结果 0.33。请阅读API

关于java - 如何使用 BigDecimal 正确除法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56486724/

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