Konvertieren Sie Zahlen in Wörter und rufen Sie Tafqit auf Arabisch anIOS

Programmierung für iOS
Guest
 Konvertieren Sie Zahlen in Wörter und rufen Sie Tafqit auf Arabisch an

Post by Guest »

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:

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)
}
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.

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!

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post