formartNum static method

String formartNum(
  1. num target,
  2. int postion, {
  3. bool isCrop = false,
})

target 要转换的数字 postion 要保留的位数 isCrop true 直接裁剪 false 四舍五入

Implementation

static String formartNum(num target, int postion, {bool isCrop = false}) {
  String t = target.toString();
  // 如果要保留的长度小于等于0 直接返回当前字符串
  if (postion < 0) {
    return t;
  }
  if (t.contains(".")) {
    String t1 = t.split(".").last;
    if (t1.length >= postion) {
      if (isCrop) {
        // 直接裁剪
        t1 = t.substring(0, t.length - (t1.length - postion));
      } else {
        // 四舍五入
        t1 = target.toStringAsFixed(postion);
      }
      return Decimal.parse(t1).toString();
    } else {
      // 不够位数的补相应个数的0
      // String t2 = "";
      // for (int i = 0; i < postion - t1.length; i++) {
      //   t2 += "0";
      // }
      return Decimal.parse(t).toString();
    }
  } else {
    // 不含小数的部分补点和相应的0
    // String t3 =  postion>0?".":"";
    //
    // for (int i = 0; i < postion; i++) {
    //   t3 += "0";
    // }
    // return t + t3;
    return t;
  }
}