zoukankan      html  css  js  c++  java
  • JavaScript 原生数字千分位格式化函数(多功能的toLocaleString)

    Number.prototype.toLocaleString([locales [, options]])
    toLocaleString()方法返回这个数字在特定语言环境下的表示字符串。
    新的 locales options 参数让应用程序可以指定要进行格式转换的语言,并且定制函数的行为。


    domestic

    const a = 123456789
    
    a.toLocaleString()
     // => "123,456,789"
    
    a.toLocaleString('zh',{style:'decimal'}) 
     // => "123,456,789"
    
    a.toLocaleString('zh',{style:'percent'})  
     // => "12,345,678,900%"
    
    a.toLocaleString('zh',{style:'currency' , currency:'CNY' })
     // => "¥123,456,789.00"
    
    a.toLocaleString('zh', { style: 'currency', currency: 'CNY', currencyDisplay: 'code' })
     // => "CNY 2,333,333.00"
    
    a.toLocaleString('zh', { style: 'currency', currency: 'CNY', currencyDisplay: 'name' } 
    // => "123,456,789.00人民币"
    
    // 如果不想有分隔符,可以指定options的useGrouping为false
    
    a.toLocaleString('zh',{useGrouping: false, style: 'currency', currency: 'CNY'})
     // => "¥123456789.00"
    
    a.toLocaleString('zh-Hans-CN-u-nu-hanidec', { useGrouping: false}) 
    // => "一二三四五六七八九"
    
    a.toLocaleString('zh-Hans-CN-u-nu-hanidec', { style: 'currency', currency: 'CNY', currencyDisplay: 'name'} )
     //=> "一二三,四五六,七八九.〇〇人民币"
    
    /*
    其他options
    minimumIntegerDigits
    使用的整数数字的最小数目.可能的值是从1到21,默认值是1.
    
    minimumFractionDigits
    使用的小数位数的最小数目.可能的值是从 0 到 20;默认为普通的数字和百分比格式为 0;
     (如果列表中没有提供则值为 2)。
    
    maximumFractionDigits
    使用的小数位数的最大数目。可能的值是从 0 到 20;
    纯数字格式的默认值是minimumfractiondigits 和 3 中大的那一个;
    (如果列表中没有提供则值为2);
    百分比格式默认值是 minimumfractiondigits 和 0 中大的那一个。
    
    minimumSignificantDigits
    使用的有效数字的最小数目。可能的值是从1到21;默认值是1。
    
    maximumSignificantDigits
    使用的有效数字的最大数量。可能的值是从1到21;默认是 21.
    */
    

    overseas

    const number = 123456.789;
    
    // 德国使用逗号作为小数分隔符,分位周期为千位
    console.log(number.toLocaleString('de-DE'));
    // → 123.456,789
    
    // 在大多数阿拉伯语国家使用阿拉伯语数字
    console.log(number.toLocaleString('ar-EG'));
    // → ١٢٣٤٥٦٫٧٨٩
    
    // 印度使用千位/拉克(十万)/克若尔(千万)分隔
    console.log(number.toLocaleString('en-IN'));
    // → 1,23,456.789
    
    // nu 扩展字段要求编号系统,e.g. 中文十进制
    console.log(number.toLocaleString('zh-Hans-CN-u-nu-hanidec'));
    // → 一二三,四五六.七八九
    
    // 当请求不支持的语言时,例如巴厘语,加入一个备用语言,比如印尼语
    console.log(number.toLocaleString(['ban', 'id']));
    // → 123.456,789
    
    // 要求货币格式
    console.log(number.toLocaleString('de-DE', { style: 'currency', currency: 'EUR' }));
    // → 123.456,79 €
    
    // 日元不使用小数位
    console.log(number.toLocaleString('ja-JP', { style: 'currency', currency: 'JPY' }))
    // → ¥123,457
    
    // 限制三位有效数字
    console.log(number.toLocaleString('en-IN', { maximumSignificantDigits: 3 }));
    // → 1,23,000
    
    
    为之则易,不为则难。
  • 相关阅读:
    六. 异常处理5.多重catch语句的使用
    六. 异常处理4.try和catch的使用
    六. 异常处理3.未被捕获的异常
    六. 异常处理2.异常类型
    对mysql数据库中字段为空的处理
    mysql 中实现多条数据同时更新
    java 用PDFBox 删除 PDF文件中的某一页
    java7 java MethodHandle解析
    【十四】jvm 性能调优实例
    【十三】jvm 性能调优工具之 jstack
  • 原文地址:https://www.cnblogs.com/coderDemo/p/14928416.html
Copyright © 2011-2022 走看看