gpt4 book ai didi

java - 这个方法返回什么?

转载 作者:行者123 更新时间:2023-12-01 14:02:36 28 4
gpt4 key购买 nike

下面的 return 语句中的“(int)”实际上做了什么?

public double calc(double amount){
return (int)(amount * 100)/100;
}

我期望此方法会返回与传入的值相同的值,因为我先乘以 100,然后除以 100 。 。 。让我回到原来的值,但当我在编译器中测试时,这是错误的。例如:

    carInformation myCar = new carInformation("");
System.out.println(myCar.calc(34.86432456789));

我得到:

34.0

为什么会这样?

最佳答案

乘法之后,转换为 int 会截断小数点以外的所有内容,因此3486.432456789 变为 3486,除以 100 得到 34。这太过分了;不需要乘法或除法,只需:(int) amount。然后返回值为 double,因此它会隐式转换回 double:34.0

关于java - 这个方法返回什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19233298/

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