我需要这种格式:
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
任何的想法?
new Intl.NumberFormat("es-ES").format(current.toFixed(2)); ^ ^
调用current.toFixed(2)
将返回一个string
已经有2个小数位的实例.
对NumberFormat.prototype.format
字符串实例的调用将导致它将字符串转换回数字,然后根据es-ES
区域性规则对其进行格式化,从而丢失有关固定小数位格式的信息.
相反,NumberFormat
使用options
指定的对象进行实例化minimumFractionDigits
:
new Intl.NumberFormat("es-ES", { minimumFractionDigits: 2 } ).format( current );
Intl.NumberFormat
如果您要重复使用它,请记住缓存您的对象,这样您就不会每次都重新创建它.