Returns the string representation of the integer passed
i.e passing the digits
, read_type
, delimiter
and or spacing_type
as arguments.
Note: When delimiter is an empty string i.e ' ', then spacing type is not used. And read_type
of ReadType.Default
does not make use of delimiter
and spacing_type
arguments.
print(NumberToWord.Convert(1994, ReadType.Double, ',', SpacingType.Right); // nineteen, ninety four
Source
static String Convert([int digits, ReadType read_type = ReadType.Default, String delimiter = ',', SpacingType spacing_type = SpacingType.Right]) { var digitsString = digits.toString(); var wordings = ''; delimiter = _ResolveDelimiter(delimiter, spacing_type); if (read_type == ReadType.Default) { return NumberToWord._GetAmountInStr(digits); } // end if else if (read_type == ReadType.Single) { for (var i = 0; i < digitsString.length; i++) { wordings += ((i == 0 ? '':delimiter) + NumberToWord._GetAmountInStr(int.parse(digitsString[i]))); } // end for return wordings; } // end else if else if (read_type == ReadType.Double) { var stopIndex = 0; for (var i = 0; i < digitsString.length - 2; i+=2) { wordings += ((i == 0 ? '':delimiter) + NumberToWord._GetAmountInStr(int.parse(digitsString.substring(i, i+2)))); stopIndex = i + 2; } // end for wordings += ((wordings.isEmpty ? '':delimiter) + NumberToWord._GetAmountInStr(int.parse(digitsString.substring(stopIndex)))); return wordings; } // end else if throw FormatException('ReadType is unknown'); }