gpt4 book ai didi

java - 在开关盒中使用 double 可能会失去精度

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

我正在为电阻编写一个类,我想给出一个公差数字,它会为该公差值吐出色带的颜色。我在其他int值上使用了相同的精确方法,但是这个 double 型不起作用,我也不知道为什么。谁能帮忙。我已经尝试过将'd'放在所有案例编号的末尾,以确保它们是 double 的,但这并不能解决问题,因此不会成为问题。

  public static String toleranceColor(double tolerance)
{
String band1 = null;
switch (tolerance)
{
case 1: band1 = "BROWN"; break;
case 2: band1 = "RED"; break;
case 0.5: band1 = "GREEN"; break;
case 0.25: band1 = "BLUE"; break;
case 0.1: band1 = "VIOLET"; break;
case 0.05: band1 = "GREY"; break;
case 5: band1 = "GOLD"; break;
case 10: band1 = "SILVER"; break;
case 20: band1 = "NONE"; break;
default: band1 = "INVALID TOLERANCE"; break;
}
}

最佳答案

您的问题是您要在double情况下尝试使用switchswitch仅应用于离散值的问题,请考虑使用枚举代替或将值乘以100并将其转换为Integer

关于java - 在开关盒中使用 double 可能会失去精度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22081773/

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