使用Java检查两个大十进制值之间的百分比

使用Java检查两个大十进制值之间的百分比,java,bigdecimal,Java,Bigdecimal,我有两个大的十进制数值1。薪水2。埃米,我在计算埃米在工资中的百分比。请找到密码 public static final BigDecimal ONE_HUNDRED = new BigDecimal(100); public static void main(String[] args) { BigDecimal salary = new BigDecimal("10000"); BigDecimal emi = new BigDecimal("7000");

我有两个大的十进制数值1。薪水2。埃米,我在计算埃米在工资中的百分比。请找到密码

public static final BigDecimal ONE_HUNDRED = new BigDecimal(100);   

public static void main(String[] args)  {
    BigDecimal salary = new BigDecimal("10000");
    BigDecimal emi = new BigDecimal("7000");
    System.out.println(salary.multiply(emi).divide(ONE_HUNDRED));
}
输出应该是70,因为7000是10000的70%

上面有什么问题吗

备注:我只从外部web服务获取这两个值作为Bigdecimal。请不要要求使用浮点或整数。

您非常接近

最后一行应该是:

System.out.println(emi.multiply(ONE_HUNDRED).divide(salary));
这会给你

7000 * 100 / 10000 = 70
你很接近

最后一行应该是:

System.out.println(emi.multiply(ONE_HUNDRED).divide(salary));
这会给你

7000 * 100 / 10000 = 70

你认为可能有问题吗?为什么?因为它返回我700000看,这是问题中要提到的一个非常重要的细节。是的,因为
10000*7000/100=700000
。所以你想要70,因为7000是10000的70%。你认为可能有问题吗?为什么?因为它返回700000,这是问题中要提到的一个非常重要的细节。是的,因为
10000*7000/100=700000
。所以你想要70,因为7000是10000的70%?