在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小数位处理的更多相关文章

  1. poi导出的excel的数字小数位过多?

    最近在使用Apache的POI组件对Excel进行操作,在对excel导出的时候,导出的数字本来只有两位小数,得到的结果就变成了很多位小数.如下面的图所示: 虽然对单元格使用了setCellStyle ...

  2. 小tip:关于typeof,instanceof,toString(),valueOf(),toLocaleString(),join(),reverse(),sort(),pop(),push(),shift(),unshift()

    typeof:用于检测一个变量是否是基本数据类型.instanceof用于检测某引用对象是什么类型的对象. var s = "Nicho"; var b = true; var n ...

  3. JavaScript toLocaleString() 方法

    JavaScript toLocaleString() 方法 JavaScript Array 对象 定义和用法 把数组转换为本地字符串. 语法 arrayObject.toLocaleString( ...

  4. 不常用的toLocaleString()方法

    在javascript中所有的对象都具有toLocaleString().toString()和valueOf()方法. 其中,很多情况调用toString()和valueOf方法会返回相同的值,但是 ...

  5. Date 对象转换——toString、toTimeString、toDateString、toUTCString、toLocaleString()、toLocaleTimeString()、toLocaleDateString()

    JavaScript toString() 方法 JavaScript Date 对象参考手册 定义和用法:toString() 方法可把 Date 对象转换为字符串,并返回结果. 语法:dateOb ...

  6. SAP ALV中同一列的不同行显示不同的小数位,并能够总计,小计

    物料数量字段,根据物料类型的不同,来显示不同的小数位:要求有点苛刻: 首先,要能够总计和小计的话,这一列的字段类型必须是数值类型. 这样的话,就不能通过截取的方式改变不同行的小数位. 以下是两种思路: ...

  7. [SAP ABAP开发技术总结]数据输入输出转换、小数位/单位/货币格式化

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  8. PHP四舍五入精确小数位及取整

    php中取小数位的函数有sprintf,ceil,floor,round等等函数来实现四舍五入,下面我们就一起来看看具体的实例吧.     本篇文章将使用php对数字进行四舍五入保留N位小数,以及使用 ...

  9. C/C++整数除法以及保留小数位的问题

    题目描述 Given two postive integers A and B,  please calculate the maximum integer C that C*B≤A, and the ...

随机推荐

  1. SPOJ 1487 Query on a tree III(划分树)

    题目链接:http://www.spoj.com/problems/PT07J/ 题意:给出一个有根树,1为根节点,每个节点有权值.若干询问,询问以u为根的子树中权值第K小的节点编号. 思路:DFS一 ...

  2. 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- ...

  3. What is Entity Framework?

    1.什么是EntityFramework? http://www.entityframeworktutorial.net/what-is-entityframework.aspx Writing an ...

  4. Fragment学习(一)

    Fragment界面添加 了解过fragment的生命周期等简单知识,于是去看官方文档来了解更多相关内容,要添加fragment到我们的UI界面中,给出了两种常用的方法,第一个是在activity的布 ...

  5. 内存分配(c/c++)

    C++中内存分配          内存分成5个区,他们分别是堆.栈.自由存储区.全局/静态存储区和常量存储区. 1,栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区.里面的 ...

  6. 点滴积累【SQL Server】---SQL语句操作约束

    说明: --主键约束(Primary Key constraint):要求主键列的数据唯一,并且不允许为空. --唯一约束(Unique Constraint):要求该列唯一,允许为空,但只能出现一个 ...

  7. 使用Java API创建(create),查看(describe),列举(list),删除(delete)Kafka主题(Topic)

    使用Kafka的同学都知道,我们每次创建Kafka主题(Topic)的时候可以指定分区数和副本数等信息,如果将这些属性配置到server.properties文件中,以后调用Java API生成的主题 ...

  8. 漫游Kafka实现篇之分布式

    Zookeeper节点标记 当路径中的元素包括在方括号里比如[xyz],则表示xyz表示的值是不固定的,每个可能的值都有一个Zookeeper节点.比如/topics/[topic]表示每个topic ...

  9. toB的产品经理和toc产品经理区别

    腾讯产品经理现身说法 曾经在UC做过2年to c的app,现在在腾讯做to b的产品. 做to c产品的时候,我很瞧不起做to b产品的同学,认为他们不过是做支撑的. 后来,我参与了一个to b平台级 ...

  10. I.MX6 Linux、Jni ioctl 差异

    /*********************************************************************** * I.MX6 Linux.Jni ioctl 差异 ...