// Author: fengshengxiong // Date: 2024/5/7 // Description: 整数、浮点数工具类 import 'dart:math'; class NumUtil { static int getInt(num? value) { if (value == null) return 0; return value.toInt(); } static double getDouble(num? value) { if (value == null) return 0.0; return value.toDouble(); } static String formatNum(double? num, {int index = 2}){ if (num == null) return '0'; if((num.toString().length - num.toString().lastIndexOf('.') - 1) < index){ return num.toStringAsFixed(index).substring(0, num.toString().lastIndexOf('.') + index + 1).toString(); }else{ return num.toString().substring(0, num.toString().lastIndexOf('.') + index + 1).toString(); } } static double strToDouble(String valueStr, {double defValue = 0.0}) { return double.tryParse(valueStr) ?? defValue; } /// 获取一个随机随 static int getRandomNumber(int min, int max) { Random random = Random(); int randomNumber = random.nextInt(max - min) + min; return randomNumber; } /// 获取不包括当前的随机数 static int getRandomNumberExcludingCurrent(int min, int max, int current) { int newNumber; do { newNumber = getRandomNumber(min, max); } while (newNumber == current); return newNumber; } }