うーん、私はその後、バックエンドで検証されており、検証がこの問題に起因する障害が発生しているクライアント側の丸みに問題があります。ここで私はやっているものを前の質問だから、Javascript and C# rounding hell乗算は、おおよその結果
がされている。バックエンドで
I have 2 numbers: 50 and 2.3659
I multiply them: 50 * 2.3659 //118.29499999999999
Round to 2 decimal places: kendo.toString(50 * 2.3659, 'n2') //118.29
(C#
):
I am doing the same: 50 and 2.3659
I multiply them: 50 * 2.3659 //118.2950
Round to 2 decimal places: Math.Round(50 * 2.3659, 2) //118.30
とクライアント側で
検証は失敗しています。クライアント側で何かできますか?
あなたがいることを認識している[浮動数学は "壊れている"](https://stackoverflow.com/questions/588004/is-floating-point-math-broken)、右? – deceze
ですが、この場合、どうすればいいですか?あなたはビジネスのバリデーションを捨て、間違った結果をコミットするように私に勧めますか? –
浮動小数点数ではなく、整数としてそれらを掛けます。 '50 * 23659' - 小数点を移動します。それから、どこでも同じ結果が得られます。それは理想的ではありませんが、うまくいくでしょう。 – Mjh