JavaScript舍入不带小数

时间:2019-02-07 02:30:30

标签: javascript

我有一个JavaScript代码

shipingcostnumber * parseInt(tax) / 100 + shipingcostnumber

将数字返回为6655.866558,因此我将其括在括号中,例如:

(shipingcostnumber * parseInt(tax) / 100 + shipingcostnumber)

现在它像正确的数字73213.8一样返回。

  

我需要将此数字四舍五入到73214,并且不带任何小数位。

所以我做了:

var nf = new Intl.NumberFormat('en-US', {
  maximumFractionDigits:0, 
  minimumFractionDigits:0
});

并将我的代码更改为:

nf.format(shipingcostnumber * parseInt(tax) / 100 + shipingcostnumber)

,它返回73,214。它确实将我的数字四舍五入,但还添加了, 如何删除小数点?

2 个答案:

答案 0 :(得分:5)

您不需要编写自己的函数。只需使用Math.ceil(n)https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/ceil

答案 1 :(得分:0)

您似乎想舍入结果,而不要获取下一个更大的整数。对于货币计算,您应该使用Math.round( );得到正确的答案。 Math.ceil( );总是四舍五入。所以:

Math.ceil(73213.8)Math.round一样产生73214。但 Math.ceil(73213.001)产生73214,而Math.round(73213.001)产生73213。我想您要使用舍入。