Javascript:使用 toLocaleString Tofixed

新手上路,请多包涵

我需要为我正在工作的项目格式化一个数字,唯一的问题是我不能按照我想要的方式格式化它。

我使用 toLocaleString 方法将数字转换为本地字符串,该方法给我逗号,但我还需要小数位,我似乎无能为力。

 var number = 123.322
number = parseFloat(number).toFixed(2) //123.22
number.toLocaleString() //123.22

上面的代码只返回 parsefloated 数字和 tofixed 十进制值,但不添加逗号。

我如何让一个数字有两位小数 (当值为“xx.00”时) 并且还以逗号分隔。这在 JavaScript 中可能吗?

原文由 Kenziiee Flavius 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 670
2 个回答

你可以给 .toLocaleString() 一个对象,它描述了你想要的东西:

 var sNumber = (10123.322).toLocaleString(undefined,
 {'minimumFractionDigits':2,'maximumFractionDigits':2});

文档: https ://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString

原来的:

 const fNumber = 10123.322;
const sNumber = parseFloat(fNumber.toFixed(2)).toLocaleString();
console.log(sNumber);

第一行的数字已经是十进制/浮点数格式。

  • .toFixed(2) 使用定点表示法将其转换为字符串。
  • parseFloat() 获取该字符串并将其变回浮点数。
  • .toLocaleString() 使用本地格式将其转换为字符串。

原文由 Alien426 发布,翻译遵循 CC BY-SA 4.0 许可协议

是的,可以使用 .toLocaleString,您只需要指定语言,您可以选择指定小数点和货币。看这个例子:

 35000.2455.toLocaleString('en-IN', {minimumFractionDigits: 2, maximumFractionDigits: 2,style: 'currency', currency: 'USD' })

这返回 $35,000.25

原文由 Esteban Pérez 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题