2025-04-04 00:41:11 -05:00
|
|
|
import 'dart:math';
|
2025-04-02 15:31:24 -05:00
|
|
|
|
2025-04-04 00:41:11 -05:00
|
|
|
class XelisFormatter {
|
|
|
|
static int parseXelisAmount(String amount) {
|
|
|
|
try {
|
2025-06-18 12:06:31 -07:00
|
|
|
return (double.parse(amount) * pow(10, 8)).round();
|
2025-04-04 00:41:11 -05:00
|
|
|
} catch (_) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
static double parseXelisAmountToDouble(int amount) {
|
|
|
|
try {
|
2025-06-18 12:06:31 -07:00
|
|
|
return amount / pow(10, 8);
|
2025-04-04 00:41:11 -05:00
|
|
|
} catch (_) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2025-06-18 12:06:31 -07:00
|
|
|
static int parseAmount(String amount, int decimals) {
|
|
|
|
try {
|
|
|
|
return (double.parse(amount) * pow(10, decimals)).round();
|
|
|
|
} catch (_) {
|
2025-04-04 00:41:11 -05:00
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2025-06-18 12:06:31 -07:00
|
|
|
static double parseAmountToDouble(int amount, int decimals) {
|
|
|
|
try {
|
|
|
|
return amount / pow(10, decimals);
|
|
|
|
} catch (_) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
}
|
2025-04-04 00:41:11 -05:00
|
|
|
|
2025-06-18 12:06:31 -07:00
|
|
|
static String formatAmountWithSymbol(
|
|
|
|
int rawAmount, {
|
|
|
|
required int decimals,
|
|
|
|
String? symbol,
|
|
|
|
}) {
|
|
|
|
final formatted = rawAmount / pow(10, decimals);
|
|
|
|
// final symbol = assetId == null || assetId == xelisAsset ? 'XEL' : assetId;
|
|
|
|
final sym = symbol ?? 'XEL';
|
|
|
|
return '$formatted $sym';
|
|
|
|
}
|
|
|
|
|
|
|
|
static String formatAmount(
|
|
|
|
int rawAmount, {
|
|
|
|
required int decimals,
|
|
|
|
}) {
|
|
|
|
final formatted = rawAmount / pow(10, decimals);
|
|
|
|
return '$formatted';
|
|
|
|
}
|
2025-04-04 00:41:11 -05:00
|
|
|
}
|