用Java精确计算十进制数

问题描述 投票:0回答:1

我有一个计算增益百分比的程序。此处输出为5.0,但实际增益%为5.45。如何获得准确的号码?

public class HelloWorld{
     public static void main(String []args){
        int gain=300;
        int CP=5500;
        double gainper=(double) ((gain*100)/CP);
        System.out.println(gainper);
     }
}

我尝试了float,double,bigdecimal格式。为了获得2位小数的精度,我什至尝试使用DecimalFormat。这些都没有给我一个准确的答案。

java floating-point double
1个回答
0
投票

这样写:

double gainper=(double) ((gain*100.0)/CP);

您有一个整数除以整数。

© www.soinside.com 2019 - 2024. All rights reserved.