Edit requests of [JS] なんとなく分かった気になっているJSをはっきりしておく ~ 数字とMathオブジェクト ~
@@ -12,41 +12,41 @@
```js
a + b = 0.30000000000000004
```
あれ?なんかコンピューターさん計算おかしくない。。?
-この様にJSを含めいくつかのプログラミング言語は少数をちゃんと計算できないよくわからない仕様となっております。
+この様にJSを含めいくつかのプログラミング言語は小数をちゃんと計算できないよくわからない仕様となっております。
なぜ、コンピューターはこんな簡単な計算を間違えてしまうのでしょうか?
-その理由は、コンピューターは少数を2進法に変換して計算していて2進法で変換すると上記の様な少数は無限の少数の値になります。
+その理由は、コンピューターは小数を2進法に変換して計算していて2進法で変換すると上記の様な小数は無限の小数の値になります。
-それで、貯蔵できる容量があらかじめ決まっているコンピューターはこの無限値を貯蔵しきれずに端っこを切り捨てて有限な少数にしてしまいます。
+それで、貯蔵できる容量があらかじめ決まっているコンピューターはこの無限値を貯蔵しきれずに端っこを切り捨てて有限な小数にしてしまいます。
これにより計算に誤差が発生してしまうのです!
-この仕様のせいで昔、どこかの国ではミサイルを迎撃するためのプログラムで少数の計算誤差により迎撃に失敗してミサイルに打たれたとか。。
+この仕様のせいで昔、どこかの国ではミサイルを迎撃するためのプログラムで小数の計算誤差により迎撃に失敗してミサイルに打たれたとか。。
-なので、こういった悲劇が起こらない様にするためにも少数の値での計算は下記の様にしましょ!
+なので、こういった悲劇が起こらない様にするためにも小数の値での計算は下記の様にしましょ!
```js
(a * 10 + b * 10) / 10 = 0.3
```
-つまり、少数はそのまま計算するのではなく、一旦整数にして計算してから最後にまた少数に戻すようにする!
+つまり、小数はそのまま計算するのではなく、一旦整数にして計算してから最後にまた小数に戻すようにする!
ややこしくて、めんどくさいですよねw
でもこんなめんどくさくしなくてもちゃんとJSのメソッドを利用すれば簡単になリます!
-### 少数.toFixed(少数の桁)と少数.toPrecision(得たい数字の桁)
+### 小数.toFixed(小数の桁)と小数.toPrecision(得たい数字の桁)
```js
(a + b).toFixed(2) = '0.30'
0.00125.toPrecision(2) = '0.0013'
1.2356.toFixed(3) = '1.236'
1.2356.toPrecision(3) = '1.23'
```
-toFixedメソッドは()内に指定した少数の桁まで四捨五入して得た値を文字列に変換します!
+toFixedメソッドは()内に指定した小数の桁まで四捨五入して得た値を文字列に変換します!
文字列になっているため、数字に戻す作業が必要になってきますねー
toPrecisionは()内に指定した桁までの数字を四捨五入して得た値を文字列に変換します!
-もし、数字が少数の場合に0.00125で0.00となっている0の部分は無視します。
+もし、数字が小数の場合に0.00125で0.00となっている0の部分は無視します。
なので0.00125.toPrecision(2)が0.0ではなく5で四捨五入され0.0013となるんですね!
### isNaN(数字)
```js
2 / "あ" = NaN
@@ -123,11 +123,11 @@
Math.ceil(6.3) = 7
Math.round(6.53) = 7
Math.round(6.43) = 6
```
それぞれ、数字を整数の値に切り捨て、切り上げ、四捨五入します!
-少数単位での四捨五入をするためには、先ほどのtoFixedを使って、整数単位での四捨五入はMath.roundといった感じですね!
+小数単位での四捨五入をするためには、先ほどのtoFixedを使って、整数単位での四捨五入はMath.roundといった感じですね!
```js
Math.round(6.53) = 7
6.53.toFixed(1) = 6.5
```