Dart数字格式化成 ‘...k'

Posted teemwu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Dart数字格式化成 ‘...k'相关的知识,希望对你有一定的参考价值。

  /// https://stackoverflow.com/a/9462382
  nFormatter(dynamic num, [int digits]) {
    var si = [
      {‘value‘: 1, ‘symbol‘: ‘‘},
      {‘value‘: 1e3, ‘symbol‘: ‘k‘},
      {‘value‘: 1e6, ‘symbol‘: ‘M‘},
      {‘value‘: 1e9, ‘symbol‘: ‘G‘},
      {‘value‘: 1e12, ‘symbol‘: ‘T‘},
      {‘value‘: 1e15, ‘symbol‘: ‘P‘},
      {‘value‘: 1e18, ‘symbol‘: ‘E‘},
    ];
    var rx = RegExp(r‘.0+$|(.[0-9]*[1-9])0+$‘);
    var i;
    for (i = si.length - 1; i > 0; i--) {
      if (num.abs() >= si[i][‘value‘]) {
        break;
      }
    }
    return (num / si[i][‘value‘]).toStringAsFixed(digits).replaceAll(rx, ‘‘) +
        si[i][‘symbol‘];
  }
}

以上是关于Dart数字格式化成 ‘...k'的主要内容,如果未能解决你的问题,请参考以下文章

golang的xorm如何将[]map[string][]byte 格式的数据序列化成json输出

C# 怎样把 数字型的字符串 格式化成 两位小数形式的字符串?不足两位小数要补0

调用模板化成员函数:帮助我理解另一个 *** 帖子中的代码片段

尺取法

flutter解决 dart:html 只支持 flutter_web 其他平台编译报错 Avoid using web-only libraries outside Flutter web(代码片段

电子表格数字式的小时化成时分秒格式