2
var number = 1.2;
var rounded = number.tofixed() + 2

任意の数値で tofixed 値を合計しようとしていますが、上記のコードを使用すると、丸め = 12 に悩まされました....なぜ合計しないのだろうか、どうすれば修正できますか?

これがフィドルのです。

ありがとうございました。

4

6 に答える 6

4

JavaScript には固定小数点数がありません。toFixedは文字列を返します。同等の数値は Math.round です。

Math.round(1.2) + 2 // 3
于 2013-07-05T17:52:44.613 に答える
3

丸めたいみたい?Math.floorの代わりに使用しtoFixedます。

var number = 1.2;
var floored = Math.floor(number) + 2

本当に丸めた数値が必要な場合は、 を使用しますMath.round()

于 2013-07-05T17:51:58.247 に答える
3

Float.toFixed()文字列を返します。( docs ) 文字列 + int は int を文字列に変換し、2 つの文字列を連結します。あなたが望むものは:

(number + 2).toFixed();
于 2013-07-05T17:52:50.527 に答える
1

tofixed メソッドは答えを文字列として返します。数値計算を行う場合は、数値に戻す必要があります。

var number = 1.2;
var rounded = parseFloat(number.tofixed()) + 2;
于 2013-07-05T17:54:58.203 に答える
0
number = 1.2
number= number+2
rounded = number.toFixed() ;

tofixed メソッドは答えを文字列として返すので、最初に追加してから丸めることができます

于 2013-07-05T17:54:10.250 に答える
0

結果の文字列を整数に変換します。

$(document).ready(function(){
    number = 1.2
    rounded = parseInt(number.toFixed()) + 2;
    alert(rounded);
})
于 2013-07-05T17:54:50.217 に答える