5

数値(文字列として指定)を小数点以下の固定数に切り捨てたい。数値は、負(マイナス記号付き)、正(符号なし)にすることができます。数値を適切に丸めて、末尾のゼロを維持したいと思います。整数がいくら長くても、小数点以下の桁数は同じにしたいです。数値は文字列として保存されます。

例えば:

140.234234234 -> 140.234
1.123123 -> 1.123
-12.789789 -> -12.790
4

3 に答える 3

7

最初にそれらをフロートとして解析してから、次のようにフォーマットしtoFixedます。

var nums = [
    "140.234234234", // -> 140.234
    "1.123123", // -> 1.123
    "-12.789789" // -> -12.790
];

nums.forEach(function(n) {
    console.log(parseFloat(n).toFixed(3));
});

http://codepen.io/anon/pen/IvxmA

于 2013-01-18T17:18:48.483 に答える
1

次を使用すると、任意の数値を固定小数点以下の桁数の文字列として表示できます.toFixed

var num = 140.234234234;
var fixedDecimalPlace = num.toFixed(3); // is "140.234"
于 2013-01-18T17:17:19.730 に答える
0
function truncate( numberString, trunk ) {
    var onpoint = numberString.split('.',2);
    var numberStringTruncated = numberString;
    if (onpoint.length > 1) {
        numberStringTruncated = onpoint[0] + '.' + onpoint[1].substring(0,trunk);
    }
    return numberStringTruncated;
}

これは、丸めやパディングを考慮していません。他の回答が示唆したように、 parseFloat の後に toFixed を使用する必要があります

于 2013-01-18T17:19:05.770 に答える