• 数字方法_toLocaleString方法


    作用

    返回这个数字在特定语言环境下的表示字符串

    语法
    num.toLocaleString(locales,[options])
    
    • 1
    1.locales
    • locales:缩写语言代码
      • locales 参数必须是一个 BCP 47 语言标记的字符串,或者是一个包括多个语言标记的数组;
      • 如果 locales 参数未提供或者是 undefined,返回本地操作系统指示语言的字符串;
      • 常用语言标记
        • “zh-Hans-CN” 中国 简写’zh’
        • “zh-Hans-CN-u-nu-hanidec” 、““zh-u-nu-hanidec””中文十进制数字
    2.options
    • options:一个对象

      • style:格式化时使用的样式

        • “decimal” /ˈdesɪm(ə)l/ :表示纯数字格式 为默认值;
        • "currency " /ˈkʌrənsi/ : 表示货币格式;
        • “percent” : 表示百分比格式
      • currency :在货币格式化中使用的货币符号;

        • 若是style属性值为currency,必须设置此属性,否则会报错

          • Currency code is required with currency style

        • “USD”:美元

        • “EUR” 欧元

        • “CNY” 人民币

      • currencyDisplay:如何在货币格式化中显示货币

        • symbol 使用本地化的货币符号例如€ (默认)
        • code 使用国际标准组织货币代码
        • name 使用本地化的货币名称
      • useGrouping:是否使用分组分隔符

        • true:使用(默认)
        • false:不使用
      • 数字规范

        • [1]使用的有效数字的最大数量:maximumSignificantDigits
          • /sɪɡˈnɪfɪkənt/ /ˈdɪdʒɪts/
          • 可能的值是从 1 到 21;默认是 21.
        • [2]使用的有效数字的最小数目:minimumSignificantDigits
          • 可能的值是从 1 到 21;默认值是 1
        • [3]使用的整数数字的最小数目:minimumIntegerDigits
          • 可能的值是从 1 到 21,默认值是 1
        • [4]使用的小数位数的最小数目:minimumFractionDigits
          • 可能的值是从 0 到 20
            • 普通的数字和百分比格式默认为 0
            • 货币默认为2
        • [5]使用的小数位数的最大数目:maximumFractionDigits
          • 可能的值是从 0 到 20
            • 纯数字格式的默认值是minimumfractiondigits 和 3 中大的那一个
            • 货币格式默认值是minimumfractiondigits 和2中大的那个;
            • 百分比格式默认值为minimumfractiondigits和0中大的那个;
        • 设置了[1] [2]中任意一个,设置的[3] [4] [5] 将不起作用;
    示例
    • 示例1-无参数

      • 123456789.123456789.toLocaleString() // '123,456,789.123'
        123456789.6666666.toLocaleString() // '123,456,789.667'
        
        • 1
        • 2
      • 默认 本地语言、纯数字格式、使用分组分隔符、小数位数为0-3位(超出截取,四舍五入)

    • 示例2-报错

      • 12345678.toLocaleString() // Invalid or unexpected token
        
        • 1
      • 因为这个.不被认为是调用方法,而是认为是小数点-后面被认为是数字–>报错;

      • const num = 12345678
        num.toLocaleString() // '12,345,678'
        
        • 1
        • 2
    • 示例3-保留5位小数

      • 123456789.123456789.toLocaleString('zh',{maximumFractionDigits:5}) // '123,456,789.12346'
        
        • 1
    • 示例4-百分位

      • const num = 123456789.123456789
        num.toLocaleString('zh',{style:'percent', useGrouping:false})
        // 12345678912%
        
        • 1
        • 2
        • 3
    • 示例5-中文数字(并不是带个十分千万的那种)

      • const num = 123456789.123456789
        num.toLocaleString('zh-Hans-CN-u-nu-hanidec',{ useGrouping:false }) // 一二三四五六七八九.一二三
        
        • 1
        • 2
      • 0会转化为O;

        • const num = 101; num.toLocaleString('zh-u-nu-hanidec')
          // '一〇一'
          
          • 1
          • 2
    案例1-转千分位符
    changeString(num){
      if(!num && num!=0){
          return ''
      }
      let number = Number(num)
      if(isNaN(number)){
          return num
      }
      return number.toLocaleString()  
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    案例2-去掉千分位符
    changeNumber(str){
      return + str.replace(/,/gi,'')
    }
    
    • 1
    • 2
    • 3
  • 相关阅读:
    附录:kafka源码启动
    【Linux】权限管理-权限的概念,umask,粘滞位
    SCAU Java 实验6 矩形类的定义与封装
    pod生命周期回调prestop、poststart源码分析
    vue3 - Vue 项目处理GitHub Pages 部署后 _plugin-vue_export-helper.js 404
    mapper.updateById(User),修改为”“失败的解决方案
    element-ui对话框dialog详解
    Redis系列——redis启动,客户端day1-2
    搜索——flood fill
    (开源)批量更新(替换)文本文件中的指定字符串
  • 原文地址:https://blog.csdn.net/qq_43260366/article/details/126365168