LoginSignup

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
```

Login to continue?

Login or Sign up with social account

Login or Sign up with your email address