Java中是否可以为Set<Double>.contains()设置精度?

bluesky8月前 ⋅ 86 阅读

ChatGPT的回答仅作参考:

Java中的Set<Double>.contains()方法默认使用Double.equals()方法来比较两个Double对象是否相等,而Double.equals()方法比较的是两个Double对象的值和精度是否相等。因此,如果要设置Set<Double>.contains()方法的精度,只需要在创建Double对象时指定精度即可。

例如,如果要将精度设置为小数点后两位,可以使用以下代码创建Double对象:

```java
double value = 1.23456789;
double roundedValue = Math.round(value * 100.0) / 100.0; // 将value保留两位小数
Double d = new Double(roundedValue);
```

然后将这些Double对象添加到Set中,使用Set<Double>.contains()方法时,会自动比较精度为小数点后两位的值是否相等。

全部评论: 0

    相关推荐