convertNumberToKurdishWords function
String
convertNumberToKurdishWords(
- int number
)
Implementation
String convertNumberToKurdishWords(int number) {
/// MODIFY CODE ONLY BELOW THIS LINE
if (number == 0) return 'سفر';
// Maps and arrays for faster access
final kurdishUnits = [
'سفر',
'یەک',
'دوو',
'سێ',
'چوار',
'پێنج',
'شەش',
'حەوت',
'هەشت',
'نۆ'
];
final kurdishTens = [
'دە',
'بیست',
'سی',
'چل',
'پەنجا',
'شەست',
'حەفتا',
'هەشتا',
'نەوەد'
];
final specialNumbers = {11: 'یانزە', 12: 'دووانزە'};
final kurdishHundreds = [
'سەد',
'دوو سەد',
'سێ سەد',
'چوار سەد',
'پێنج سەد',
'شەش سەد',
'حەوت سەد',
'هەشت سەد',
'نۆ سەد'
];
final kurdishThousands = [
'هەزار',
'دوو هەزار',
'سێ هەزار',
'چوار هەزار',
'پێنج هەزار',
'شەش هەزار',
'حەوت هەزار',
'هەشت هەزار',
'نۆ هەزار'
];
String result = '';
// Handle billions
if (number >= 1000000000) {
int billions = number ~/ 1000000000;
result += '${convertNumberToKurdishWords(billions)} ملیارد';
number %= 1000000000;
if (number > 0) result += ' و ';
}
// Handle millions
if (number >= 1000000) {
int millions = number ~/ 1000000;
result += '${convertNumberToKurdishWords(millions)} ملیۆن';
number %= 1000000;
if (number > 0) result += ' و ';
}
// Handle thousands
if (number >= 1000) {
int thousands = number ~/ 1000;
if (thousands < 10) {
result += kurdishThousands[thousands - 1];
} else {
result += '${convertNumberToKurdishWords(thousands)} هەزار';
}
number %= 1000;
if (number > 0) result += ' و ';
}
// Handle hundreds
if (number >= 100) {
int hundreds = number ~/ 100;
result += kurdishHundreds[hundreds - 1];
number %= 100;
if (number > 0) result += ' و ';
}
// Handle numbers between 10 and 19
if (number >= 10 && number < 20) {
if (specialNumbers.containsKey(number)) {
result += specialNumbers[number]!;
} else {
result += '${kurdishUnits[number - 10]}زە';
}
return result;
}
// Handle tens
if (number >= 20) {
int tens = number ~/ 10;
result += kurdishTens[tens - 1];
number %= 10;
if (number > 0) result += ' و ';
}
// Handle units
if (number > 0) {
result += kurdishUnits[number];
}
return result;
/// MODIFY CODE ONLY ABOVE THIS LINE
}