IE对toLocaleString小数位处理
在js中对数值的格式化经常会用到四舍五入、保留小数位数、百分制格式化,分别会用到以下方法
<script type="text/javascript">
var n = 1234500.6789;
console.log(Math.round(n));//四舍五入
console.log(n.toFixed(2));//转成字符,并保留2位小数位数,同时对尾数四舍五入
console.log(n.toLocaleString());//转成字符,并根据本地规则格式化 //分别输出结果:
//1234501
//1234500.68
//1,234,500.679
</script>
但是在IE浏览器下toLocaleString()的结果与其它浏览器去不一样;
<script type="text/javascript"> var n = 123456789; document.write(n.toLocaleString());
// IE:123,456,789.00
//Chrome:123, 456, 789.00
</script>
在IE下,整数格式化出现了两小数,并不是我想要的结果。为了统一toLocaleString()方法,并增强其它,单独写了一个方法
<script type="text/javascript">
//n格式化的数字
//m保留的小数位数,可不传
function toLocaleString(n, m) {
if (m == null || m == "") {
m = 0;
}
var str = n.toLocaleString();
if (m > 0) {
str = str.substring(0, str.lastIndexOf(".") + 1 + m);
} else {
str = str.substring(0, str.lastIndexOf(".") + m);
}
return str;
}
//测试 验证
var n = 1234567.366;
document.write(toLocaleString(n));document.write("<br>");
document.write(toLocaleString(n, 0)); document.write("<br>");
document.write(toLocaleString(n, 1)); document.write("<br>");
document.write(toLocaleString(n, 2)); document.write("<br>");
</script>
输出结果在IE和Chrome下都是:
1,234,567
1,234,567
1,234,567.3
1,234,567.37
--希望大家提出不足之处,或有更好的方法。
IE对toLocaleString小数位处理的更多相关文章
- poi导出的excel的数字小数位过多?
最近在使用Apache的POI组件对Excel进行操作,在对excel导出的时候,导出的数字本来只有两位小数,得到的结果就变成了很多位小数.如下面的图所示: 虽然对单元格使用了setCellStyle ...
- 小tip:关于typeof,instanceof,toString(),valueOf(),toLocaleString(),join(),reverse(),sort(),pop(),push(),shift(),unshift()
typeof:用于检测一个变量是否是基本数据类型.instanceof用于检测某引用对象是什么类型的对象. var s = "Nicho"; var b = true; var n ...
- JavaScript toLocaleString() 方法
JavaScript toLocaleString() 方法 JavaScript Array 对象 定义和用法 把数组转换为本地字符串. 语法 arrayObject.toLocaleString( ...
- 不常用的toLocaleString()方法
在javascript中所有的对象都具有toLocaleString().toString()和valueOf()方法. 其中,很多情况调用toString()和valueOf方法会返回相同的值,但是 ...
- Date 对象转换——toString、toTimeString、toDateString、toUTCString、toLocaleString()、toLocaleTimeString()、toLocaleDateString()
JavaScript toString() 方法 JavaScript Date 对象参考手册 定义和用法:toString() 方法可把 Date 对象转换为字符串,并返回结果. 语法:dateOb ...
- SAP ALV中同一列的不同行显示不同的小数位,并能够总计,小计
物料数量字段,根据物料类型的不同,来显示不同的小数位:要求有点苛刻: 首先,要能够总计和小计的话,这一列的字段类型必须是数值类型. 这样的话,就不能通过截取的方式改变不同行的小数位. 以下是两种思路: ...
- [SAP ABAP开发技术总结]数据输入输出转换、小数位/单位/货币格式化
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- PHP四舍五入精确小数位及取整
php中取小数位的函数有sprintf,ceil,floor,round等等函数来实现四舍五入,下面我们就一起来看看具体的实例吧. 本篇文章将使用php对数字进行四舍五入保留N位小数,以及使用 ...
- C/C++整数除法以及保留小数位的问题
题目描述 Given two postive integers A and B, please calculate the maximum integer C that C*B≤A, and the ...
随机推荐
- 总结JavaScript(Iframe、window.open、window.showModalDialog)父窗口与子窗口之间的操作
一.Iframe 篇 //&&&&&&&&&&&&&&&&&&a ...
- backbone todo example
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Maven+Spring+MVC结构中,jetty/tomcat是如何启动项目的[转]
针对maven配置的Spring+MVC项目,我们用Maven自带的jetty和tomcat插件进行调试,这很方便.但是调试时,这些插件所启动的web服务器,是如何来将我们的工程作为一个web项目启动 ...
- [Golang] base64加密与解密
首先解释以下什么是base64(来自百度百科): Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,大家可以查看RFC2045-RFC2049,上面有MIME的详细规范.Base64 ...
- Evaluate Reverse Polish Notation(堆栈)
Evaluate the value of an arithmetic expression in Reverse Polish Notation. Valid operators are +, -, ...
- 《OD学hadoop》第二周0703
hdfs可视化界面: http://beifeng-hadoop-01:50070/dfshealth.html#tab-overview yarn可视化界面: http://beifeng-hado ...
- Android开源库--Universal Image Loader通用图片加载器
如果说我比别人看得更远些,那是因为我站在了巨人的肩上. github地址:https://github.com/nostra13/Android-Universal-Image-Loader 介绍 ...
- 一些数论概念与算法——从SGU261谈起
话说好久没来博客上面写过东西了,之前集训过于辛苦了,但有很大的收获,我觉得有必要把它们拿出来总结分享.之前一直是个数论渣(小学初中没好好念过竞赛的缘故吧),经过一道题目对一些基础算法有了比较深刻的理解 ...
- UVa 11636 (注意读题) Hello World!
这道题巨坑啊,样例中以-1结束输入的,所以我就天真的以为测试数据也是以-1结束输入的 其实人家原文中说: Input is terminated by a line containing a nega ...
- 51nod1274 最长递增路径
将边排序后dp一下就可以了. #include<cstdio> #include<cstring> #include<cctype> #include<alg ...