تبدیل اعداد انگلیسی به فارسی و بالعکس برای نمایش اعداد فارسی فانکشنال در برنامه
سلام به همه دوستان و اساتید.
برای انجام پروژه ای مجبور شدم از فونتی استفاده کنم که اعداد فارسیش مشکل داشت و توی برنامه اگر اعداد فارسی بود نمیشد روش عملیاتی انجام داد و با کرش مواجه می شدم.
بنابراین مجبور شدم دوتا متد بنویسم تا قبل از انجام عملیات روی اعداد. اونها رو به انگلیسی تبدیل کرده و سپس نتیجه رو به فارسی تبدیل کرده و بعد در لیبل مورد نظر قرار بدم.
متد هاش رو اینجا قرار میدم تا در وقت سایر دوستان صرفجویی بشه...
internal func EnToFa (num: String) -> String {
var new = ""
var arr = num.characters.map { String($0)}
for i in 0...arr.count-1 {
switch arr[i] {
case "1" :
new.append("۱")
case "2" :
new.append("۲")
case "3" :
new.append("۳")
case "4" :
new.append("۴")
case "5" :
new.append("۵")
case "6" :
new.append("۶")
case "7" :
new.append("۷")
case "8" :
new.append("۸")
case "9" :
new.append("۹")
default:
new.append("۰")
}
}
return new
}
internal func FaToEn (num: String) -> String {
var new = ""
var arr = num.characters.map { String($0)}
for i in 0...arr.count-1 {
switch arr[i] {
case "۱" :
new.append("1")
case "۲" :
new.append("2")
case "۳" :
new.append("3")
case "۴" :
new.append("4")
case "۵" :
new.append("5")
case "۶" :
new.append("6")
case "۷" :
new.append("7")
case "۸" :
new.append("8")
case "۹" :
new.append("9")
default:
new.append("0")
}
}
return new
}
این هم یک روش دیگه.
درصورتی که فونت شما از مدلی بود که کلا اعداد انگلیسی نداشت، از این متد برای ورودی گرفتن یا انجام عملیات روی عددتون استفاده کنید.
درغیر اینصورت اگر کاربر با کیبورد فارسی اعداد را وارد کند. در قسمت محاسبات با کرش مواجه خواهد شد!
func convertToEnNumber(num: String)->String{
let NumberStr: String = num
let Formatter: NSNumberFormatter = NSNumberFormatter()
Formatter.locale = NSLocale(localeIdentifier: "EN")
let final = Formatter.numberFromString(NumberStr)
return String(final!)
}
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .