iOS*_*eam 0 nsnumberformatter ios swift
这是关于我们如何将印地语翻译成英语的任何数字值.
很想知道如何将一个语言编号转换为另一个语言编号
例如:尝试将印地语语言编号转换为阿拉伯语
这是我在操场上尝试过的代码:
let string = "?"
let intParse1 = Int(string)
let numberFormat = NumberFormatter()
numberFormat.locale = Locale(identifier: "ar")
if let getOP = numberFormat.number(from: string) {
print("output is: ", getOP)
}
Run Code Online (Sandbox Code Playgroud)
以下是仅以英文显示的输出
我已经搜索过这个问题,但没有找到这种特定的解决方案,所以发布了一个新的问题.
注意:不寻找任何静态转换扩展或那种功能.
编辑: 我不想要这种解决方案
编辑2:
我想知道为什么我们必须首先将它转换为数字,然后将其转换为阿拉伯语?,意味着有必要先将它转换为英语吗?
说明:
NumberFormatter将数字转换为另一种语言编号,而不是将语言字符串转换为其他语言.首先,我们必须将一个语言编号转换为另一个语言编号.
Doc说明: 参考
NumberFormatter的实例格式化包含NSNumber对象的单元格的文本表示,并将数值的文本表示转换为NSNumber对象.表示包括整数,浮点数和双精度数; 浮点数和双精度数可以格式化为指定的小数位.NumberFormatter对象还可以对单元格可以接受的数值施加范围.
直接在Swift 4上使用此扩展:
extension String {
func convertToArbic () -> String? {
let formatter = NumberFormatter()
formatter.locale = Locale(identifier: "hi")
guard let number = formatter.number(from:self ) else{
return nil
}
formatter.locale = Locale(identifier: "ar")
guard let number2 = formatter.string(from: number) else{
return nil
}
return number2
}
}
// use
let string = "?"
if let arbNumber = string.convertToArbic() {
print(arbNumber)
}
else{
print("Unable to get arabic number")
}
Run Code Online (Sandbox Code Playgroud)
输出:
| 归档时间: |
|
| 查看次数: |
146 次 |
| 最近记录: |