美文网首页
实现数字截取显示,转化为w格式

实现数字截取显示,转化为w格式

作者: 毛小兔的头发还在吗 | 来源:发表于2021-08-14 18:32 被阅读0次

新建一个util.dart文件,在文件中写入如下转化方法(可根据具体显示需求调整内容)

///超过四位数的数字转化为w格式,如:38128 => 3.8w,381285 => 38.1w
formatCharCount(int count) {
  if (count <= 0 || count.isNaN) {
    return '0';
  }
  String strCount = count.toString();
  if(strCount.length >= 5) {
    String prefix = strCount.substring(0,strCount.length-4);
    if(strCount.length == 5) {
      prefix += '.${strCount[1]}';
    }
    if(strCount.length == 6) {
      prefix += '.${strCount[2]}';
    }
    return prefix + 'w';
  }
  return strCount;
}

创建好转化方法后,在需要转化的数字外包裹一层formatCharCount即可

示例:

import 'package:flutter/material.dart';
import 'package:demo/utils/util.dart';

class FormatCharCountPage extends StatelessWidget {

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
          title:Text('Format Char Count Page')
      ),
      body:Column(
        children: <Widget> [
          formatCharCount(1234),  //转化后显示为1234
          formatCharCount(12345),  //转化后显示为1.2w
          formatCharCount(123456),  //转化后显示为12.3w
          formatCharCount(1234567),  //转化后显示为123w
        ],
      ),
    );
  }
}

相关文章

网友评论

      本文标题:实现数字截取显示,转化为w格式

      本文链接:https://www.haomeiwen.com/subject/jugubltx.html