将数字四舍五入到货币格式的正好两位小数

时间:2012-09-13 08:28:03

标签: javascript currency rounding

我需要将货币四舍五入到小数位。

两个

Math.round(num*Math.pow(10,2))/Math.pow(10,2)

Math.round(num*Math.pow(10,2))/Math.pow(10,2)

工作除了它会减少任何尾随零点因此我得到29.9而不是29.90

最好的方法是什么?

4 个答案:

答案 0 :(得分:18)

您可以将此项添加到要设置特定格式的数字

.toFixed(2)

答案 1 :(得分:7)

(Math.round(num*Math.pow(10,2))/Math.pow(10,2)).toFixed(2)

答案 2 :(得分:0)

将其视为美分总数是有道理的。 19.999 = 1999.9 美分,小数点后第三位无所谓,反正你付不了。

这是有道理的:

function convertToMoney(val){
    return (Math.floor(val*100).toFixed(0)/100).toFixed(2);
}

答案 3 :(得分:0)

我正在使用这个,似乎没问题

useLayoutEffect(() => {
        navigation.setOptions({
            headerRight: () => (
                <NewTaskHeaderRight onClick={() => handleOpenNewTask()} />
            ),
        });
    }, [navigation,taskList]);

看起来最短