从小数点后第三位开始不四舍五入
Cut from the third decimal without rounding
我知道这个问题的质量很低,但我现在有点困惑。
这是我想做的事情。
100000 => 100.000
9997080000 => 9997080.000
我想从小数点后第三位开始不四舍五入。
我怎样才能做到这一点?我使用了 toFixed()
但我只想从第三个小数点开始。我觉得我现在很复杂。
这会很简单。请让我知道。谢谢
Math.floor()
将四舍五入,基本上会舍去小数点右边的所有内容。
据我了解,这就是您想要的:
var number = "9002764000";
var result = number.slice(0, -3) +"."+ number.slice(-3);
console.log(result);
这将在最后三位数字后添加一个 .
即 9002764000
-> 9002764.000
https://jsfiddle.net/5yqhr7mo/
希望对您有所帮助!
听起来您想要 显示 的值。如果是这样,您希望将数字转换为字符串(因为 numbers 本质上在小数点右侧没有任何特定位数)。然后,您可以使用 substring
and substr
:
在最后三位数字之前轻松插入 .
function formatForDisplay(num) {
var str = String(num);
return str.substring(0, str.length - 3) + "." + str.substr(-3);
}
function test(num) {
console.log(num, "=>", formatForDisplay(num));
}
test(100000);
test(9997080000);
或者,您可以使用 String#replace
并添加一个点。
var number = 9002764000;
console.log(Math.floor(number).toString().replace(/(?=...$)/, '.'));
怎么样:
function formatNumber(num){
num=num/1000;
return num.toFixed(3);
}
console.log(formatNumber(9997080000));
console.log(formatNumber(100000000));
如果您使用整数
,这将 return 您所期望的
我知道这个问题的质量很低,但我现在有点困惑。 这是我想做的事情。
100000 => 100.000
9997080000 => 9997080.000
我想从小数点后第三位开始不四舍五入。
我怎样才能做到这一点?我使用了 toFixed()
但我只想从第三个小数点开始。我觉得我现在很复杂。
这会很简单。请让我知道。谢谢
Math.floor()
将四舍五入,基本上会舍去小数点右边的所有内容。
据我了解,这就是您想要的:
var number = "9002764000";
var result = number.slice(0, -3) +"."+ number.slice(-3);
console.log(result);
这将在最后三位数字后添加一个 .
即 9002764000
-> 9002764.000
https://jsfiddle.net/5yqhr7mo/
希望对您有所帮助!
听起来您想要 显示 的值。如果是这样,您希望将数字转换为字符串(因为 numbers 本质上在小数点右侧没有任何特定位数)。然后,您可以使用 substring
and substr
:
.
function formatForDisplay(num) {
var str = String(num);
return str.substring(0, str.length - 3) + "." + str.substr(-3);
}
function test(num) {
console.log(num, "=>", formatForDisplay(num));
}
test(100000);
test(9997080000);
或者,您可以使用 String#replace
并添加一个点。
var number = 9002764000;
console.log(Math.floor(number).toString().replace(/(?=...$)/, '.'));
怎么样:
function formatNumber(num){
num=num/1000;
return num.toFixed(3);
}
console.log(formatNumber(9997080000));
console.log(formatNumber(100000000));
如果您使用整数
,这将 return 您所期望的