首页 > 解决方案 > 使用 toLocaleString 格式化小数以显示 2 个小数和一个逗号

问题描述

我正在尝试将作为价格的数字格式化为这种格式 x,xxx.xx,例如 1,000.55,数据库中的数字是十进制(8,2),即 1000.55,但是当我尝试使用 toLocaleString on这个数字不起作用。

这是我在 vue 中使用的功能

formatProdPrice(value) {
    return value.toLocaleString(['en-US', [{minimumFractionDigits: 2, maximumFractionDigits: 2}]]);
}

这就是我使用它的地方

formatProdPrice($page.price.price)

预期输出为 1,000.55,但现在实际输出为 1000.55。我究竟做错了什么?

标签: javascriptvue.js

解决方案


您还可以使用Intl.NumberFormat将其格式化为货币。

function formatProdPrice(value) {
    return new Intl.NumberFormat("en-US", { style: "currency", currency: "USD" }).format(value);
}

formatProdPrice(1000.55); // returns "$1,000.55"

推荐阅读