Javascript: using toLocaleString + Tofixed

Javascript: using toLocaleString + Tofixed

本文关键字:Tofixed toLocaleString using Javascript      更新时间:2023-09-26

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

我使用toLocaleString方法将数字转换为localestring,该方法给了我逗号,但我也需要小数点,我似乎没有做任何工作。

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

上面的代码只返回解析浮点数和固定的十进制值,但没有添加逗号。

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

你可以给.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()使用本地格式将其转换为字符串。

一行完成

var num = '12233.3366554';
num = parseFloat(parseFloat(num).toFixed(2)).toLocaleString('en-IN', { useGrouping: true });

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

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

返回$35,000.25

Number.toLocaleString处理的是数字,而toFixed返回的是字符串。

先将字符串强制转换回数字

var number = 123.322;
var string = parseFloat(number).toFixed(2);
var parsed = (+string).toLocaleString();
console.log(parsed);

为了获得逗号,您必须指定区域设置。区域设置en包含数字的逗号。toFixed() Returns a string。toLocaleString()函数的逗号作用于数字而不是字符串。所以解析字符串为float

var number = 1234567.322;
number = parseFloat(parseFloat(number).toFixed(2)).toFixed(2) ;
number=number.toLocaleString('en'); 

toLocaleString函数提供基于语言的数字表示

 var number = 3500.00;
if(Number.isInteger(number)){
   var zeroappend= number.toLocaleString()+".00";
   console.log(zeroappend);//3,500.00;

}else{
   console.log(number.toLocaleString()); 
}