在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

--希望大家提出不足之处,或有更好的方法。

最新文章

  1. Visual Studio Code + live-server编辑和浏览HTML网页
  2. Spring中配置文件中引用外部文件
  3. iOS开发 - AVPlayer实现流音频边播边存
  4. DTAP street
  5. spring boot1.3.0版本及以上版本profile指定参数无法被打入
  6. POJ 3468&lt;线段树,区间add&gt;
  7. md5sum校验文件完整性
  8. Socket协议
  9. asp.net -mvc框架复习(5)-ASP.NET MVC中的视图简单使用
  10. IDE-Android Studio -FAQ-使用习惯(不断更新 欢迎留言)
  11. Revisiting Network Support for RDMA
  12. Electron桌面应用打包流程
  13. 【转载】Impala和Hive的区别
  14. 基本数据结构:链表(list)
  15. node http模块搭建简单的服务和客户端
  16. 弄明白html、css3、js这个问题。。。
  17. jquery计算出left和top,让一个div水平垂直居中的简单实例
  18. 更有效率的使用Visual Studio
  19. 巨蟒python全栈开发flask2
  20. 第16篇 Shell脚本基础(一)

热门文章

  1. Ubuntu 14.04怎样升级到Ubuntu 14.10
  2. Hosting Your Own NuGet Feeds
  3. 第十篇 PO核心功能及流程详解
  4. React学习、安装及QuickStart
  5. 基于UltraVNC实现客户端远程控制
  6. C语言中的三值合一
  7. BZOJ 3295 动态逆序对
  8. codevs 1138 聪明的质监员
  9. 20160125.CCPP详解体系(0004天)
  10. 【英语】Bingo口语笔记(46) - 不可能的表达