美文网首页
Flutter 学习 之 字符的格式化(内存单位转换 小数点的格

Flutter 学习 之 字符的格式化(内存单位转换 小数点的格

作者: 半城半离人 | 来源:发表于2022-05-06 23:03 被阅读0次

内存大小转换

  /// 将文件大小 格式化
  /// [fileSize] 文件大小
  /// [position] 保留几位小数
  /// [scale] 比例 1000/1024
  /// [specified] 0-5 指定的单位 0是B 1是KB 2是mb 3是GB 4是TB 5是PB
  static String formatFileSize(fileSize,
      {position = 2, scale = 1024, specified = -1}) {
    double num = 0;
   List sizeUnit = ["B", "KB", "MB", "GB", "TB", "PB"];
    if (fileSize is String) {
      num = double.parse(fileSize);
    } else if (fileSize is int || fileSize is double) {
      num = fileSize;
    }
    //获取他的单位
    if (num > 0) {
      int unit = log(num) ~/ log(scale);
      if (specified >= 0 && specified < sizeUnit.length) {
        unit = specified;
      }
      double size = num / pow(scale, unit);
      String numStr = formatNum(num: size, position: position);
      return numStr + " " + sizeUnit[unit];
    }
    return "0 B";
  }

小数点的格式化

  ///格式化数字 如果小数后面为0则不显示小数点
  ///[num]要格式化的数字 double 类型
  /// [position] 保留几位小数 int类型
  static formatNum({required double num, required int position}) {
    String numStr = num.toString();
    int dotIndex = numStr.indexOf(".");
    ///当前数字有小数且需要小数位数小于需要的 直接返回当前数字
    if (num % 1 != 0 && (numStr.length - 1 - dotIndex < position)) {
      return numStr;
    }
    int numbs = pow(10, position).toInt();
    //模运算 取余数
    double remainder = num * numbs % numbs;
    //小数点后位数如果小于0则表示只保留整数,余数小于1不会进位防止出现200.01保留一位小数出现200.0的情况
    if (position > 0 && remainder >= 0.5) {
      return num.toStringAsFixed(position);
    }
    return num.toStringAsFixed(0);
  }

将POST 请求数据 打印出来

  ///格式化url,将post和get请求以get链接输出
  static String formattedUrl(params) {
    var urlParamsStr = "";
    if (params?.isNotEmpty ?? false) {
      var tempArr = [];
      params.forEach((k, v) {
        tempArr.add(k + '=' + v.toString());
      });
      urlParamsStr = tempArr.join('&');
    }
    return urlParamsStr;
  }

相关文章

  • Flutter 学习 之 字符的格式化(内存单位转换 小数点的格

    内存大小转换 小数点的格式化 将POST 请求数据 打印出来

  • C语言学习笔记

    C/C++格式化字符串说明 C++的格式化字符串经常用作格式化数字的输出、字符串合并和转换等等很多场合。 1. 格...

  • Python入门(31)

    strftime()按指定样式格式化时间转换成字符串;isoformat()将时间转换成字符串ISO8601格式,...

  • 字典转 Json , json ->dic

    /*** @brief 把格式化的JSON格式的字符串转换成字典* @param jsonString JSON格...

  • Android常用知识点

    1. Android之Context和Activity互相转换 2. 日期格式化 相互转换 日期转字符串 字符串转...

  • 类型转换

    toFixed()根据小数点指定位数,数字转换为字符串toExponential()使用指数计数法,数字转换为字符...

  • Python | 字符串 替换空格

    关于字符串的知识点: 1. 运算符 使用占位符%s 格式化字符串%d 格式化整数%f 格式化浮点数%.2f 小数点...

  • python-print函数的使用

    1.格式化输出 看看《Python基础编程》中对格式化输出的总结: %字符:标记转换说明符的开始 转换标志:-表示...

  • python基础教程笔记(chapt.3&4) 字符串和

    字符串和字典格式化 字符串 字符串格式化:%s(转换说明符)当要字符串中含有%,使用%%代替。 实数/字段宽度精度...

  • 字符和字符串

    字符: 字符串: 计算字符串长度: 字符串拼接 格式化字符串 字符串比较: 判断前后缀 大小写转换 转换为基本数据类型

网友评论

      本文标题:Flutter 学习 之 字符的格式化(内存单位转换 小数点的格

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