zoukankan      html  css  js  c++  java
  • toString()和toLocaleString()有什么区别

    偶然之间用到这两个方法

    然后在数字转换成字符串的时候,并没有感觉这两个方法有什么区别,如下:

    1
    2
    3
    4
    5
    6
    7
    8
    var e=123
     
     
    e.toString()
    "123"
     
    e.toLocaleString()
    "123"

     是吧,并没有什么区别,上面的e是一个三位数的数字,那么要是四位数以上呢

    复制代码
    var a=1234
    
    a.toString()
    "1234"
    
    a.toLocaleString()
    "1,234"
    复制代码

    当数字是四位及以上时,toLocaleString()会让数字三位三位一分隔,像我们有时候数字也会三位一个分号

    再继续看数组转成字符串分别用这两个方法有什么区别呢,看看,代码如下

    1
    2
    3
    4
    5
    6
    7
    8
    9
    var aa=[1,2,3]
     
     
    aa.toLocaleString()
    "1,2,3"
     
     
    aa.toString()
    "1,2,3"

     也并没有区别哦

    然后再上网看看发现好像在转换时间格式上有区别,那么看看吧,代码如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    var sd=new Date()
     
     
    sd
    Wed Feb 15 2017 11:21:31 GMT+0800 (CST)
     
     
    sd.toLocaleString()
    "2017/2/15 上午11:21:31"
     
     
    sd.toString()
    "Wed Feb 15 2017 11:21:31 GMT+0800 (CST)"

     恩 这样一目了然看到了差别

    这样总结以上就是toString()和toLocaleString()两点区别:

    1.当数字是四位数及以上时,有区别,区别看以上代码

      var a = 8462948.24;

       b.toLocaleString();

      //8,462,948.24

    价格千分位格式化,例如12233556.76675格式化之后12,233,556.76

      function formatNum(num){

         return (num.toFixed(2) + '').replace(/d{1,3}(?=(d{3})+(.d*)?$)/g, '$&,');
      }

    2.当目标是标准时间格式时,用以上两种方法是有区别的,区别看以上

  • 相关阅读:
    前端
    【转帖】今天看到一篇有意思的文章:程序员的十楼层。看看自己在第几层
    jquery 验证表单
    JavaWeb--Servlet
    JDBC——数据库连接池(connection pool) DBCP&&C3P0
    JDBC——批量处理JDBC语句提高处理速度
    JDBC——数据库的隔离级别
    JDBC——数据库事务
    JDBC——取得数据库自动生成的主键
    JDBC——建立数据库连接
  • 原文地址:https://www.cnblogs.com/chiangyibo/p/9501197.html
Copyright © 2011-2022 走看看