在 TypeScript 中为 .toLocaleString() 提供小数点数

Provide Decimal Point Number to .toLocaleString() in TypeScript

我正在尝试形成一个数字,其中的字符串有一个小数分隔符为了能够应用 .toLocaleString() 方法,该方法不能应用于字符串。

const initialString = 122; //number
const decimalStr = initialString.toFixed(initialString); //string
const formattedStr = decimalStr.toLocaleString('de-DE');//error,decimalStr is a string

如果要对 decimalStr 应用任何转换,小数位将 丢失 (即 decimalStr = +decimalStrdecimalStr = Number(decimalStr)。 => 问题,需要保留小数位。

How can i keep the decimal points and make the .toLocaleString() see calling value as a number?

Number.toLocaleString 方法接受名为 options 的第二个参数。 您可以使用此参数来控制小数位数。因此,您的电话将是:

const initialNumber = 122; 
const formattedStr = initialNumber.toLocaleString('de-DE', {
  minimumFractionDigits: 2,
  maximumFractionDigits: 2
});

有关详细信息,请查看 here

另外,请注意 toFixedmaximumFractionDigits 都有限制:分别为 100 和 20。所以你提供的例子在第二行失败了。