toLocaleString 不带小数零的价格

Ste*_*n-v 3 javascript formatting locale numbers currency

我想知道如何有效地从价格中删除小数零,同时保留 2 位小数(如果有)

因此,如果一个价格是,135.00它应该成为135

然而,如果价格是,135.30则应保留两位小数。

如果是价格,135.38则可以保留小数。

这就是我现在所拥有的:

const currency = 'EUR';
const language = 'NL';

var localePrice = (amount) => {
  const options = {
    style: 'currency',
    currency: currency
  };

  return amount.toLocaleString(language, options);
}
Run Code Online (Sandbox Code Playgroud)

现在我可以使用正则表达式或类似的东西,但我希望有一种更简单的方法来完成此任务。

我制作了一个 JSFiddle 来说明我的问题,这使得使用代码变得很容易。

https://jsfiddle.net/u27a0r2h/2/

小智 5

尝试添加minimumFractionDigits: 0到您的选项中,例如:

const currency = 'EUR';
const language = 'NL';

var localePrice = (amount) => {
  const options = {
    style: 'currency',
    currency: currency,
    minimumFractionDigits: 0
  };

  return amount.toLocaleString(language, options);
}
Run Code Online (Sandbox Code Playgroud)