我使用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格式分开提供,以便您可以为正在浏览您的网站的用户下载正确的数据.