amountWithCurrency static method
Implementation
static String amountWithCurrency(
String? symbolData,
double? amount, {
bool isShowCurrencyOnly = false,
}) {
String symbol = "";
switch (symbolData) {
case "Rupee":
symbol = "₹";
break;
case "USD":
symbol = "\$";
break;
case "KHR":
symbol = "៛";
break;
default:
symbol = "₹"; // Default to Rupee if symbolData is null or invalid
break;
}
if (isShowCurrencyOnly) {
return symbol;
} else if (amount == null || amount == 0) {
return "$symbol${amount?.toInt()}"; // Display as integer if amount is zero or null
} else {
// Round to two decimal places for non-zero amounts
// String formattedAmount = amount.toStringAsFixed(2);
String formattedAmount = formatCurrency.format(amount);
// Remove trailing zeros and decimal point if necessary
formattedAmount = formattedAmount.replaceAll(RegExp(r"(\.0*)?$"), "");
formattedAmount = formattedAmount.replaceFirst("\$", symbol);
return formattedAmount;
}
}