ToneSnap_FSX_Flutter/lib/utils/num_util.dart
fengshengxiong c7cbdb04be 个人曲库
2024-07-14 16:13:46 +08:00

46 lines
1.3 KiB
Dart

// 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;
}
}