適当な思いつきで書くブログ

UbuntuやPerlやJavaScriptやVimやZshやShellScriptやMySQLと戯れている中で適当な思いつきでやってみたことを書いています。

perseFloat("1.1")を引き算したら変な端数が出てきました

ちょっと変なことしてたら変な端数が出てきちゃったのでメモ

parseFloat("1.1")         //1.1
parseFloat("1.1") - 0     //1.1
parseFloat("1.1") - 0.1   //1

parseFloat("1.1") - 0.11  //0.9900000000000001

引き算する数字(n)が0.1を超える(n>0.1)と端数が出てきちゃうようです。
この端数はどこからやって来て、どこに行こうとしてるのでしょう…?


ちょっと注意したいのがこちら。

parseFloat("1.1") - 1 == 0.1  //false


Firefoxでしか見ていませんけど…。


MDCにも特に何もありません。Core JavaScript 1.5 Reference:Global Functions:parseFloat - MDC


追記

parseFloat()に(というかそもそもJavaScirptに)限ったことじゃないようです。id:holidays-lさんありがとうございました><