数値(文字列として指定)を小数点以下の固定数に切り捨てたい。数値は、負(マイナス記号付き)、正(符号なし)にすることができます。数値を適切に丸めて、末尾のゼロを維持したいと思います。整数がいくら長くても、小数点以下の桁数は同じにしたいです。数値は文字列として保存されます。
例えば:
140.234234234 -> 140.234
1.123123 -> 1.123
-12.789789 -> -12.790
数値(文字列として指定)を小数点以下の固定数に切り捨てたい。数値は、負(マイナス記号付き)、正(符号なし)にすることができます。数値を適切に丸めて、末尾のゼロを維持したいと思います。整数がいくら長くても、小数点以下の桁数は同じにしたいです。数値は文字列として保存されます。
例えば:
140.234234234 -> 140.234
1.123123 -> 1.123
-12.789789 -> -12.790
最初にそれらをフロートとして解析してから、次のようにフォーマットし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));
});
次を使用すると、任意の数値を固定小数点以下の桁数の文字列として表示できます.toFixed
。
var num = 140.234234234;
var fixedDecimalPlace = num.toFixed(3); // is "140.234"
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 を使用する必要があります