我需要为我在工作中工作的项目格式化一个数字,唯一的问题是我不能按我想要的方式格式化它。
我使用toLocaleString方法将数字转换成一个本地字符串,这给了我逗号,但我也需要小数位,我似乎什么都不做。
var number = 123.322
number = parseFloat(number).toFixed(2) //123.22
number.toLocaleString() //123.22上面的代码只返回解析的数字和‘t固定的十进制值,但是它没有添加逗号。
我如何获得一个数字有两个小数位(当值为'xx.00')和也是逗号分隔。这在JavaScript中是可能的吗?
发布于 2017-04-21 09:48:59
您可以向.toLocaleString()提供一个对象,该对象描述您想要的内容:
var sNumber = (10123.322).toLocaleString(undefined,
{'minimumFractionDigits':2,'maximumFractionDigits':2});文档:Objects/Number/toLocaleString
原件:
const fNumber = 10123.322;
const sNumber = parseFloat(fNumber.toFixed(2)).toLocaleString();
console.log(sNumber);
第一行的数字已经是十进制/浮点数格式。
.toFixed(2)使用不动点表示法将其转换为字符串。parseFloat()接受该字符串并将其转换为浮点数。.toLocaleString()使用本地格式将其转换为字符串。发布于 2019-12-19 11:54:28
只是在一行中完成
var num = '12233.3366554';
num = parseFloat(parseFloat(num).toFixed(2)).toLocaleString('en-IN', { useGrouping: true });发布于 2020-09-23 01:03:45
是的,使用.toLocaleString是可能的,yo只需要指定语言,也可以选择指定小数和货币。请看下面的示例:
35000.2455.toLocaleString('en-IN', {minimumFractionDigits: 2, maximumFractionDigits: 2,style: 'currency', currency: 'USD' })这将返回$35,000.25
https://stackoverflow.com/questions/40152070
复制相似问题