if(0.030 != (0.530-0.500+0+0))
{
$s = 0.530-0.500+0+0;
これは等しくありませんか?
減算後は 0 ではありません
これは PHP の計算方法ですか?
$s = (0.530-0.500+0+0)*1000;これも間違っています
浮動小数点数についての知識を復習してください
$f = (0.530-0.500+0+0)*1000
$a = (0.030*1000); $ssa = doubleval($a) ) - doubleval ($f);
これは間違っています...どうやって計算したのですか?
単純な 10 進数を 2 進形式に変換するには、浮動小数点数の精度が少し失われます。最後の桁まで正確になることは決してありません。そのため、PHP では、単純な浮動小数点数演算は精度を失い、計算結果に混乱を引き起こす可能性が非常に高くなります
単純な小数は、2 進数に変換すると 1 の後に失われることはありません小数点精度の形式では、浮動小数点数は最後の桁まで正確になりません。PHP では、単純な浮動小数点数の演算では精度が失われ、計算結果に混乱が生じる可能性があります
そのような計算はどのように行うべきですか?
浮動小数点数についての知識を復習してください
$f = (0.530-0.500+0+0)*1000;
$ ssa = doubleval($a) - doubleval($) f);
これは書き方が間違っています...彼はどうやって計算したのでしょうか?
これは PHP だけでなく JAVA にも当てはまります
したがって、PHP ではこれを解決する必要があります 浮動小数点数を使用するには 2 つの方法があります1 つは
if(0.030 != (0.530-0.500+0+0))
$s = 0.53-0.5;
echo $s; です。変数は二重引用符で囲みます
「有効な数」に関する関連知識を学ぶ必要があるようです