JavaScript で 2 つの実数の中間点 (平均) を計算する必要があります。数値の範囲は大きく異なり、通常は 10000 から 0.0001 の間です。
素朴なアプローチ
(parseFloat(first) + parseFloat(second)) / 2
不要な精度エラーが発生します。つまり、
(1.1 + 0.1) / 2 = 0.6000000000000001
結果に余分な小数点以下のスペースが含まれないようにするにはどうすればよいですか? 入力が 2 つしかないため、結果の小数点以下の桁数は入力よりも最大で 1 つ多い必要があると思います。だから、私は必要です:
1000 and 3000 to return 2000 (without decimal spaces)
1234.5678 and 2468.2468 to return 1851.4073
0.001 and 0.0001 to return 0.00055
10000 and 0.0001 to return 5000.00005
0.1 and 1.1 to return 0.6
明確にするために:私は精度エラーとこれが起こる理由についてすべて知っています. 私が必要としているのは簡単な回避策であり、SO に関する以前の解決策を見つけることができませんでした。