数値の小数部を取り出す


動作ブラウザ 【 IE:4.0  NN:3.0
Internet Explorer Netscape Navigator DreamPassport iCab
3.0x 4.0x 4.5 5.0x 5.5 2.0x 3.0x 4.0x 4.x 6.0 2 3 2.x
Windows × - × - -
Macintosh × - × - -
UNIX - - - - - × - - -
Dreamcast - - - - - - - - - - -

ポイント if ((""+n).indexOf(".") > -1) n = Number("0."+(String(n).split("."))[1]); else n = 0;
説  明 小数部を抜き出すには小数点以下が存在するかどうかを調べ小数点以下を抜き出します。数値として処理するとJavaScriptでは演算誤差が発生し正しい値が得られない場合があるため一旦文字列にしてから処理を行います。
サンプル <html> <head> <title>数値の小数部を取り出す</title> </head> <body> <script language="JavaScript"><!-- n = 12.35; if ((""+n).indexOf(".") > -1) n = Number("0."+(String(n).split("."))[1]); else n = 0; document.write("n = ",n,"<br>"); n = -12.95; if ((""+n).indexOf(".") > -1) n = Number("0."+(String(n).split("."))[1]); else n = 0; document.write("n = ",n,"<br>"); // --></script> </body> </html>
補足説明 若干の演算誤差が発生しても良いのであれば以下のように処理することもできます。 n = Math.abs(n);if (n > 0) n = n - Math.floor(n);  または n = parseInt(n) - parseFloat(n);

■サンプルスクリプトを実行する >>実行
■各ブラウザでの動作結果を見る >>View!

写真素材 PIXTA