JavaScript:使用toLocaleString()格式化整数

前端之家收集整理的这篇文章主要介绍了JavaScript:使用toLocaleString()格式化整数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用Number.prototype.toLocaleString()函数将逗号添加到整数.可以找到文档 here.

我写的如下:

Number(data).ToLocaleString('en');

在Firefox / Chrome中,数字显示为123,456,789.但是,在IE中显示为123,789.00.

为什么IE加入小数点值?

2.如何删除小数点值?

而不是创建/使用自定义函数,我只是想知道是否有一个可以添加到ToLocaleString()的选项,如en,nodecimal.如果该选项不可用,我将考虑一个自定义功能.

解决方法

你测试过哪个版本的IE?在IE 10和更低版本中,toLocaleString是基于ECMAScript规范的,它规定该函数应该是“依赖于实现的”.在IE 11中,它基于 ECMA Internationalization API,应该与Firefox 26一致.

删除IE 10和更低版本(以及潜在的其他旧版浏览器)中的十进制值,您必须使用字符串操作:

Number(data).toLocaleString('en').slice(0,-3);

这个API也有a polyfill available,这将适用于IE 10及更低版本.包括它在这一刻是有点棘手,因为浏览器/ minified构建不包含实际的数据(因为它将是巨大的).数据以JSON或JSONP格式分开提供,以便您可以为正在浏览您的网站的用户下载正确的数据.

原文链接:https://www.f2er.com/js/151338.html

猜你在找的JavaScript相关文章