gpt4 book ai didi

Java 舍入( double )

转载 作者:行者123 更新时间:2023-12-01 11:04:16 28 4
gpt4 key购买 nike

double y1 = 0;  
double y2 = 0;
double i = 0.025;
double n = 2;
double h1 = 2000;
double h2 = 4000;

y1 = Math.pow((1 + i), n) * h1;
y2 = Math.pow((1 + i), n) * h2;
double result = y1 + y2;
System.out.println(result);

我希望结果为“6303.749999999999”,但它给了我“6303.75”。我该如何解决?

最佳答案

正确的结果应该是(而且确实是)6303.750000000000017069679003611781820568916563219777423023367655509563911228609889292329171439632773399353027343750000

尝试看一下 BigDecimal 类。

    BigDecimal i = new BigDecimal(0.025);
int n = 2;
BigDecimal h1 = new BigDecimal(2000);
BigDecimal h2 = new BigDecimal(4000);

BigDecimal y1 = ((BigDecimal.ONE.add(i)).pow(n)).multiply(h1);
BigDecimal y2 = ((BigDecimal.ONE.add(i)).pow(n)).multiply(h2);
BigDecimal result = y1.add(y2);

System.out.println(result.toEngineeringString());

关于Java 舍入( double ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33105210/

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