ArabicWord method
Implementation
static String ArabicWord(
String inputNumber, String CurrencyName, String CurrencyPartName, {String SuffixText = ""}) {
double numberFix = roundDouble(inputNumber, 2);
List<String> stnumber = numberFix.toString().split(".");
int number = int.parse(stnumber[0]);
if (number == 0) {
return "صفر";
}
String fullNumber = stnumber[0];
String fNumber = stnumber[0];
String CurrencyPart = "";
int _CurrencyPart = int.parse( stnumber[1]);
if (_CurrencyPart > 0) {
CurrencyPart = " و " +
_convertLessThanOneThousand(_CurrencyPart) +
" " +
CurrencyPartName;
}
for (var i = 0; i < 15 - fullNumber.length; i++) {
fNumber = "0" + fNumber;
}
fullNumber = fNumber;
int trillion = int.parse(fullNumber.substring(0, 3));
int billions = int.parse(fullNumber.substring(3, 6));
int millions = int.parse(fullNumber.substring(6, 9));
int hundredThousands = int.parse(fullNumber.substring(9, 12));
int thousands = int.parse(fullNumber.substring(12, 15));
String tradtrillion;
switch (trillion) {
case 0:
tradtrillion = "";
break;
case 1:
tradtrillion = " تریلیون و ";
break;
case 2:
tradtrillion = " تريليونان و ";
break;
default:
tradtrillion = _convertLessThanOneThousand(trillion) + " تریلیون و";
}
String result = tradtrillion;
String tradBillions;
switch (billions) {
case 0:
tradBillions = "";
break;
case 1:
tradBillions = " مليار و ";
break;
case 2:
tradBillions = " ملياران و ";
break;
default:
tradBillions = _convertLessThanOneThousand(billions) + " مليار و";
}
result += tradBillions;
String tradMillions;
switch (millions) {
case 0:
tradMillions = "";
break;
case 1:
tradMillions = "ملیون و ";
break;
case 2:
tradMillions = "مليونان و ";
break;
default:
tradMillions = _convertLessThanOneThousand(millions) + " مليون و";
}
result = result + tradMillions;
String tradHundredThousands;
switch (hundredThousands) {
case 0:
tradHundredThousands = "";
break;
case 1:
tradHundredThousands = " الف و ";
break;
case 2:
tradHundredThousands = " الفان و";
break;
default:
tradHundredThousands =
_convertLessThanOneThousand(hundredThousands) + " الف و ";
}
result = result + tradHundredThousands;
String tradThousand;
tradThousand = _convertLessThanOneThousand(thousands);
result = result + tradThousand;
if (result.trim().endsWith("و")) {
result = result.substring(0, result.length - 2);
}
return result + " " + CurrencyName + CurrencyPart + " " + SuffixText;
}