Я хочу создать быстрое приложение, которое преобразует цифры на арабском языке в слова. Например, как в https://tafqeet.com
с названием валюты
Пример: 100,5 будет выглядеть как « مائة دولار أمريكي و خمسون سنت لا غير», что можно перевести как «Сто долларов США и Пятьдесят центов»
Я уже знаю, как это сделать на английском языке. Вот код Swift, который я использую для преобразования чисел в слова на английском языке:
func numberToWords(_ num: Int) -> String {
let units = ["", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"]
let teens = ["", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen"]
let tens = ["", "Ten", "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety"]
let thousands = ["", "Thousand", "Million", "Billion"]
if num == 0 {
return "Zero"
}
var num = num
var result = ""
var thousandCounter = 0
while num > 0 {
if num % 1000 != 0 {
result = helper(num % 1000) + thousands[thousandCounter] + " " + result
}
num /= 1000
thousandCounter += 1
}
return result.trimmingCharacters(in: .whitespaces)
}
private func helper(_ num: Int) -> String {
let units = ["", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"]
let teens = ["", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen"]
let tens = ["", "Ten", "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety"]
if num == 0 { return "" }
if num < 10 { return units[num] + " " }
if num < 20 { return teens[num - 10] + " " }
if num < 100 { return tens[num / 10] + " " + helper(num % 10) }
return units[num / 100] + " Hundred " + helper(num % 100)
}
Это хорошо работает для английского языка, но в арабском языке более сложные грамматические правила и форматы чисел. Мне известны такие инструменты, как NSNumberFormatter, но они не поддерживают напрямую преобразование арабских чисел в слова.
How can I implement number-to-word conversion in Arabic in Swift, considering:
• The grammar rules of Arabic numbers.
• The support for fractional numbers like 105.75.
Any help, suggestions, or examples would be greatly appreciated!
Подробнее здесь: https://stackoverflow.com/questions/793 ... -in-arabic
Преобразовать цифры в слова, позвонить тафкиту на арабском языке ⇐ IOS
Программируем под IOS
-
Anonymous
1736056363
Anonymous
Я хочу создать быстрое приложение, которое преобразует цифры на арабском языке в слова. Например, как в https://tafqeet.com
с названием валюты
Пример: 100,5 будет выглядеть как « مائة دولار أمريكي و خمسون سنت لا غير», что можно перевести как «Сто долларов США и Пятьдесят центов»
Я уже знаю, как это сделать на английском языке. Вот код Swift, который я использую для преобразования чисел в слова на английском языке:
func numberToWords(_ num: Int) -> String {
let units = ["", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"]
let teens = ["", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen"]
let tens = ["", "Ten", "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety"]
let thousands = ["", "Thousand", "Million", "Billion"]
if num == 0 {
return "Zero"
}
var num = num
var result = ""
var thousandCounter = 0
while num > 0 {
if num % 1000 != 0 {
result = helper(num % 1000) + thousands[thousandCounter] + " " + result
}
num /= 1000
thousandCounter += 1
}
return result.trimmingCharacters(in: .whitespaces)
}
private func helper(_ num: Int) -> String {
let units = ["", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"]
let teens = ["", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen"]
let tens = ["", "Ten", "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety"]
if num == 0 { return "" }
if num < 10 { return units[num] + " " }
if num < 20 { return teens[num - 10] + " " }
if num < 100 { return tens[num / 10] + " " + helper(num % 10) }
return units[num / 100] + " Hundred " + helper(num % 100)
}
Это хорошо работает для английского языка, но в арабском языке более сложные грамматические правила и форматы чисел. Мне известны такие инструменты, как NSNumberFormatter, но они не поддерживают напрямую преобразование арабских чисел в слова.
How can I implement number-to-word conversion in Arabic in Swift, considering:
• The grammar rules of Arabic numbers.
• The support for fractional numbers like 105.75.
Any help, suggestions, or examples would be greatly appreciated!
Подробнее здесь: [url]https://stackoverflow.com/questions/79330263/convert-number-to-words-call-tafqit-in-arabic[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия