teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

eval-calculation-0\.9\.2\.js で除算に先んじて乗算するように処理を変更しました

2017/09/19 11:11

投稿

think49
think49

スコア18194

answer CHANGED
@@ -26,4 +26,13 @@
26
26
 
27
27
  それでも、`1/3*3 === 1` になるようなコードを書くとするなら、先程と同様に文字列で数式を渡し、内部的に計算順を入れ替えてやるギミックが必要になるでしょう。
28
28
 
29
+ **(2017/09/19 21:12追記)**
30
+
31
+ eval-calculation-0.9.2.js で除算に先んじて乗算するように処理を変更しました。
32
+
33
+ - [eval-calculation.js: 計算式の文字列を評価する](https://gist.github.com/think49/54b074cab2145efddb48765652c74710)
34
+
35
+ eval-calculation-0.9.1.js 当時でも正常に動作しているように見えますが、最近のブラウザは `0.3333333333333333 * 3=== 1` が成立するようです。
36
+ というわけで、airulove さんがどの実装(ブラウザ等)で `1/3*3` を "0.99999999999......." と評価されたのか、気になるところです。
37
+
29
38
  Re: airulove さん