私はしきい値が定義されたファイルを持っており、これらのしきい値は決定に役立ちます。チェックする価値が0.2500000001のようなものであれば、それは0.25と0.26の間に収まる小数のある値が定義された範囲にあるかどうかを検証する最も良い方法は何ですか
for (Threshold threshold : thresholds) {
if ((threshold.getMin() <= predictionValue) &&
(predictionValue <= threshold.getMax())) {
return threshold.getText();
}
}
:
"thresholds":[
{ "min": 0.0, "max": 0.25, "text": "VERY UNLIKELY" },
{ "min": 0.26, "max": 0.50, "text": "UNLIKELY" }
{ "min": 0.51, "max": 0.75, "text": "LIKELY" }
{ "min": 0.76, "max": 1.0, "text": "VERY LIKELY" }
]
条件:
値は次のようになります。だから私は、値が空のギャップを持たない一定の範囲にあるかどうかを判断する最適な方法は何ですか?
精度のパラメータを追加し、この精度を最小値&最大値に適用する必要がありますか?私は0.259999999のような値でファイルを設定する必要はありません。
上限値が含まれていない半開きの間隔として定義できます。例:min:0 - max 0.26 < - そしてあなたの値が> = minと
@ OHGODSPIDERSはいいいですね! –
BigDecimalクラスを使用できる小数点以下の桁精度を求める場合は、double/floatを直接渡すと、それでも不正確になるので、BigDecimal(String val)コンストラクタを使用することを確認してください。 https://docs.oracle。 com/javase/7/docs/api/java/math/BigDecimal.html – prsvr