gpt4 book ai didi

java - 非常不寻常的舍入

转载 作者:行者123 更新时间:2023-12-01 17:32:56 26 4
gpt4 key购买 nike

您是否曾经进行过这样的四舍五入:

  • [0.95,1) 四舍五入为 1
  • [0.90,0.95) 四舍五入为 0.95
  • [0.85,0.90) 四舍五入为 0.90
  • [0.80,0.85) 四舍五入为 0.85

我尝试这样做:

double rounded = Math.round(x * 20.0) / 20.0;

但是它的舍入有点不同,例如它把 0.91 舍入到 0.90,而我更需要它把 0.91 舍入到 0.95

最佳答案

可以通过以下方式找到您要查找的号码

  1. 将您的数字乘以 20。
  2. 计算您的数字的下限。
  3. 将您的数字除以 20。
  4. 添加0.05

例如, ⌊ 0.95 * 20 ⌋/20 + 0.05 = ⌊ 19 ⌋/20 + 0.05 = 0.95 + 0.05 = 1.00。

在 Java 中:

double result = Math.floor(x * 20.0) / 20.0 + 0.05;

希望这有帮助!

关于java - 非常不寻常的舍入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9271665/

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