Konvertieren Sie Zahlen in Wörter und rufen Sie Tafqit auf Arabisch an
Posted: 05 Jan 2025, 06:52
Ich möchte eine schnelle Anwendung erstellen, die Zahlen auf Arabisch in Wörter umwandelt. Zum Beispiel wie in https://tafqeet.com
mit Währungsname
Beispiel: 100,5 wäre „ مائة دولار أمريكي و خمسون سنت لا غير“, was übersetzt werden würde „Einhundert US-Dollar und fünfzig Cent“
Ich weiß schon wie um dies für Englisch zu tun. Hier ist der Swift-Code, den ich für die Konvertierung englischer Zahlen in Wörter verwende:
Dies funktioniert gut für Englisch, aber Arabisch hat komplexere Grammatikregeln und Formate für Zahlen. Mir sind Tools wie „NSNumberFormatter“ bekannt, aber sie unterstützen die Konvertierung arabischer Zahlen in Wörter nicht direkt.
mit Währungsname
Beispiel: 100,5 wäre „ مائة دولار أمريكي و خمسون سنت لا غير“, was übersetzt werden würde „Einhundert US-Dollar und fünfzig Cent“
Ich weiß schon wie um dies für Englisch zu tun. Hier ist der Swift-Code, den ich für die Konvertierung englischer Zahlen in Wörter verwende:
Code: Select all
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)
}
Code: Select all
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!