javascript - toLocaleString 价格不带小数点零

标签 javascript formatting numbers locale currency

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

所以如果价格是 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);
}

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

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

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

最佳答案

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

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

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

  return amount.toLocaleString(language, options);
}

关于javascript - toLocaleString 价格不带小数点零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46236206/

相关文章:

javascript - 从外部跨度获取文本,而不获取内部元素的文本

html - 如何在 Ubuntu 上的 VS Code 中格式化 HTML 代码?

formatting - Jira 中的表格格式对齐

php - 带有前导零的数字的奇怪行为

c - C 中的正数和负数程序

javascript - Heroku - Express 和 React 应用程序在部署时显示空白屏幕

javascript - setInterval 未按预期工作

javascript - 如何使用 js 触发 only-css 模式

javascript - 使 CSS 菜单项和标题扩展到正确的宽度

Javascript - 清理用户输入的货币值