首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript:使用toLocaleString + Tofixed

Javascript:使用toLocaleString + Tofixed
EN

Stack Overflow用户
提问于 2016-10-20 10:38:58
回答 6查看 16.4K关注 0票数 23

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

我使用toLocaleString方法将数字转换成一个本地字符串,这给了我逗号,但我也需要小数位,我似乎什么都不做。

代码语言:javascript
复制
var number = 123.322
number = parseFloat(number).toFixed(2) //123.22
number.toLocaleString() //123.22

上面的代码只返回解析的数字和‘t固定的十进制值,但是它没有添加逗号。

我如何获得一个数字有两个小数位(当值为'xx.00')和也是逗号分隔。这在JavaScript中是可能的吗?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2017-04-21 09:48:59

您可以向.toLocaleString()提供一个对象,该对象描述您想要的内容:

代码语言:javascript
复制
var sNumber = (10123.322).toLocaleString(undefined,
 {'minimumFractionDigits':2,'maximumFractionDigits':2});

文档:Objects/Number/toLocaleString

原件:

代码语言:javascript
复制
const fNumber = 10123.322;
const sNumber = parseFloat(fNumber.toFixed(2)).toLocaleString();
console.log(sNumber);

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

  • .toFixed(2)使用不动点表示法将其转换为字符串。
  • parseFloat()接受该字符串并将其转换为浮点数。
  • .toLocaleString()使用本地格式将其转换为字符串。
票数 51
EN

Stack Overflow用户

发布于 2019-12-19 11:54:28

只是在一行中完成

代码语言:javascript
复制
var num = '12233.3366554';
num = parseFloat(parseFloat(num).toFixed(2)).toLocaleString('en-IN', { useGrouping: true });
票数 1
EN

Stack Overflow用户

发布于 2020-09-23 01:03:45

是的,使用.toLocaleString是可能的,yo只需要指定语言,也可以选择指定小数和货币。请看下面的示例:

代码语言:javascript
复制
35000.2455.toLocaleString('en-IN', {minimumFractionDigits: 2, maximumFractionDigits: 2,style: 'currency', currency: 'USD' })

这将返回$35,000.25

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40152070

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档