我已经用这样的数字格式化程序格式化了500000到500K

NumberFormat.compact().format(int.parse(player.price!))

但是我想把这个数字转换成50万这样的50万

有可能吗?

推荐答案

  • Ffltter提供的官方方法很难做到这一点,所以我写了这篇文章
      test('1515'); //0.002M
      test('1215'); //0.001M
      test('151555'); // 0.152M
      test('1511445'); // 0.151M
      test('15114455'); // 15.1M

  String test(String str) {
    var result = NumberFormat.compact(locale: 'en').format(int.parse(str));
    if (result.contains('K') && result.length > 3) {
      result = result.substring(0, result.length - 1);
      var prefix = (result.split('.').last.length) + 1;
      var temp = (double.parse(result) * .001).toStringAsFixed(prefix);
      result = double.parse(temp).toString() + 'M';
    }
    return result;
  }

Flutter相关问答推荐

所需引用Firebase处不存在任何对象

我不能通过第5步了解Flutter 翼Firebase教程

如何将Will POP示波器转换为POP数据抖动的POP示波器

带有图标抖动的自定义下拉按钮

无法将新文物与Flutter 项目集成在一起

如何处理平台游戏的对象冲突?

Flutter如何在容器外创建环形进度条

Flutter firebase_auth 和 firebase_core 依赖错误

切换 Firebase 项目后 Flutter FirebaseAuthException 'configuration-not-found'

Flutter - 我需要显示文本,但应用程序不需要

如何删除或隐藏覆盖

Flutter 错误:OutletListModel类型的值不能分配给List类型的变量?

具有 BLOC 和存储库模式的 Flutter Workmanager

如何流畅切换画面?

避免长单词中断

出现错误;运算符[]不是为对象类型定义的?功能()'

如何让多个图标转到不同的网址

使用 Firebase/Flutter 进行应用判断 - 100% 无效请求

Flutter Web Responsiveness 效率不高

为什么这个参数类型不能分配给参数类型?