Konvertieren Sie Zahlen in Wörter und rufen Sie Tafqit auf Arabisch an
Posted: 05 Jan 2025, 10:05
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.
Wie kann ich die Konvertierung von Zahlen in Wörter auf Arabisch in implementieren? Swift, unter Berücksichtigung von:
• Die Grammatikregeln arabischer Zahlen.
• Die Unterstützung für Bruchzahlen wie 105,75.
Jede Hilfe, Anregung oder Beispiele wären sehr hilfreich geschätzt!
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)
}
Wie kann ich die Konvertierung von Zahlen in Wörter auf Arabisch in implementieren? Swift, unter Berücksichtigung von:
• Die Grammatikregeln arabischer Zahlen.
• Die Unterstützung für Bruchzahlen wie 105,75.
Jede Hilfe, Anregung oder Beispiele wären sehr hilfreich geschätzt!