当前位置:  开发笔记 > 编程语言 > 正文

NumberFormat不会尊重.toFixed

如何解决《NumberFormat不会尊重.toFixed》经验,为你挑选了1个好方法。

我需要这种格式:

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

任何的想法?



1> Dai..:
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如果您要重复使用它,请记住缓存您的对象,这样您就不会每次都重新创建它.

推荐阅读
我我檬檬我我186
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有