numberPowToInt static method

int numberPowToInt({
  1. required dynamic value,
  2. required int pow,
})

Implementation

static int numberPowToInt({required dynamic value, required int pow}) {
  if (value is int) {
    String str = value.toString();
    for (var i = 0; i < pow; i++) {
      str = '${str}0';
    }
    return int.parse(str);
  }

  if (value is Decimal) value = value.toDouble();
  if (value is String) value = double.parse(value);
  if (value is double) {
    String numString = value.toString();
    if (numString.contains('e')) numString = value.toStringAsFixed(pow);

    List numList = numString.split('.');
    String left = numList.first;
    String right = numList.last;
    String str = '';
    for (var i = 0; i < pow; i++) {
      if (i >= right.length) {
        str = '${str}0';
        continue;
      }

      str = str + right[i];
    }
    return int.parse(left + str);
  }
  return 0;
}