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 ...
随机推荐
- SPOJ 1487 Query on a tree III(划分树)
题目链接:http://www.spoj.com/problems/PT07J/ 题意:给出一个有根树,1为根节点,每个节点有权值.若干询问,询问以u为根的子树中权值第K小的节点编号. 思路:DFS一 ...
- C#高级编程(第9版) -C#5.0&.Net4.5.1 书上的示例代码下载链接
http://www.wrox.com/WileyCDA/WroxTitle/Professional-C-5-0-and-NET-4-5-1.productCd-1118833031,descCd- ...
- What is Entity Framework?
1.什么是EntityFramework? http://www.entityframeworktutorial.net/what-is-entityframework.aspx Writing an ...
- Fragment学习(一)
Fragment界面添加 了解过fragment的生命周期等简单知识,于是去看官方文档来了解更多相关内容,要添加fragment到我们的UI界面中,给出了两种常用的方法,第一个是在activity的布 ...
- 内存分配(c/c++)
C++中内存分配 内存分成5个区,他们分别是堆.栈.自由存储区.全局/静态存储区和常量存储区. 1,栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区.里面的 ...
- 点滴积累【SQL Server】---SQL语句操作约束
说明: --主键约束(Primary Key constraint):要求主键列的数据唯一,并且不允许为空. --唯一约束(Unique Constraint):要求该列唯一,允许为空,但只能出现一个 ...
- 使用Java API创建(create),查看(describe),列举(list),删除(delete)Kafka主题(Topic)
使用Kafka的同学都知道,我们每次创建Kafka主题(Topic)的时候可以指定分区数和副本数等信息,如果将这些属性配置到server.properties文件中,以后调用Java API生成的主题 ...
- 漫游Kafka实现篇之分布式
Zookeeper节点标记 当路径中的元素包括在方括号里比如[xyz],则表示xyz表示的值是不固定的,每个可能的值都有一个Zookeeper节点.比如/topics/[topic]表示每个topic ...
- toB的产品经理和toc产品经理区别
腾讯产品经理现身说法 曾经在UC做过2年to c的app,现在在腾讯做to b的产品. 做to c产品的时候,我很瞧不起做to b产品的同学,认为他们不过是做支撑的. 后来,我参与了一个to b平台级 ...
- I.MX6 Linux、Jni ioctl 差异
/*********************************************************************** * I.MX6 Linux.Jni ioctl 差异 ...