我需要这种格式:
555.555.55,55
555.555.55,50 /* Note te extra zero */
我正在尝试这样
new Intl.NumberFormat("es-ES").format(current.toFixed(2));
但这打印出来
555.555.55,5
有什么想法吗?
答案 0 :(得分:8)
new Intl.NumberFormat("es-ES").format(current.toFixed(2));
^ ^
对current.toFixed(2)
的调用将返回string
个实例,其中包含2个小数位。
使用字符串实例调用NumberFormat.prototype.format
会导致它将字符串转换回数字,然后根据es-ES
文化规则对其进行格式化,从而丢失有关固定小数的信息 - 地方格式。
相反,使用指定NumberFormat
的{{1}}对象实例化options
:
minimumFractionDigits
如果您要重复使用,请记住缓存new Intl.NumberFormat("es-ES", { minimumFractionDigits: 2 } ).format( current );
对象,这样您就不会每次都重新创建它。