繁体   English   中英

从小数点后三位开始舍入

[英]Cut from the third decimal without rounding

我知道问题的质量很低,但是我现在有点困惑。 这是我想做的事情。

100000 => 100.000
9997080000 => 9997080.000 

我想从小数点后三位开始舍入而不舍入。 我怎样才能做到这一点? 我使用了toFixed()但我要做的只是从小数点后三位开始。 我想我现在很复杂。 这很简单。 请让我知道。 谢谢

据我了解,这就是您想要的:

 var number = "9002764000"; var result = number.slice(0, -3) +"."+ number.slice(-3); console.log(result); 

这将添加一个. 最后三位数字之后,即9002764000 > 9002764.000

https://jsfiddle.net/5yqhr7mo/

希望能帮助到你!

听起来您想要显示一个值。 如果是这样,则要将数字转换为字符串(因为数字本质上在小数点右边没有任何特定的数字位数)。 然后,您可以轻松插入. 使用substringsubstr在最后三位数字之前:

 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)); 

如果使用整数,它将返回您期望的结果

Math.floor()将舍入到四舍五入,从而Math.floor()小数点右边的所有内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM