为TypeScript中的.ToLocalString()提供小数点
我正在尝试形成一个数字,该数字与字符串之间有一个十进制分隔符,以便能够应用.toLocaleString()方法,该方法不能应用于字符串为TypeScript中的.ToLocalString()提供小数点,string,typescript,casting,locale,String,Typescript,Casting,Locale,我正在尝试形成一个数字,该数字与字符串之间有一个十进制分隔符,以便能够应用.toLocaleString()方法,该方法不能应用于字符串 const initialString = 122; //number const decimalStr = initialString.toFixed(initialString); //string const formattedStr = decimalStr.toLocaleString('de-DE');//error,decimalStr is a
const initialString = 122; //number
const decimalStr = initialString.toFixed(initialString); //string
const formattedStr = decimalStr.toLocaleString('de-DE');//error,decimalStr is a string
如果将任何转换应用于decimalStr
,十进制数字将丢失(即decimalStr=+decimalStr
或decimalStr=Number(decimalStr)
>问题,需要保留十进制数字
如何保留小数点并使.toLocaleString()
是否将调用值视为一个数字
Number.toLocaleString
方法接受第二个名为options
的参数。
您可以使用此参数控制分数位数。因此,您的调用将是:
const initialNumber = 122;
const formattedStr = initialNumber.toLocaleString('de-DE', {
minimumFractionDigits: 2,
maximumFractionDigits: 2
});
有关更多详细信息,请查看
另外,请注意toFixed
和maximumFractionDigits
都有限制:分别为100和20。因此,您提供的示例在第二行失败