- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我一直在尝试根据传递我的自定义语言标识符来实现货币格式。
下面是我的代码
func currencyFormatter(language:String, amount:String) -> String {
let nsFormatter = NumberFormatter()
nsFormatter.numberStyle = .currency
nsFormatter.currencySymbol = ""
var formattedString: String?
var amountInNumber:NSNumber!
if let number = nsFormatter.number(from: amount)
{
amountInNumber = number.doubleValue as NSNumber
}
nsFormatter.locale = Locale(identifier: language)
formattedString = ((amountInNumber?.intValue) != nil) ? nsFormatter.string(from: amountInNumber) : amount
guard let finalString = formattedString else {
return ""
}
return finalString
}
我正在尝试将语言作为“fr-FR”传递,将金额作为“1234.45”传递,然后期望输出为“1 234,45”。
这在模拟器中工作正常但在设备中不工作(返回相同的值 1234.45)
我错过了什么吗?请帮忙!
提前致谢
最佳答案
小数点分隔符依赖于语言环境,因此解析“1234.45”如果语言环境的分隔符不是句点,则失败。
如果输入字符串使用固定格式,以句点作为小数点分隔符然后您可以将格式化程序的语言环境设置为“en_US_POSIX”以进行转换从字符串到数字。然后将其设置为转换所需的语言环境从数字到字符串。
例子:
func currencyFormatter(language: String, amount: String) -> String {
let nsFormatter = NumberFormatter()
nsFormatter.locale = Locale(identifier: "en_US_POSIX")
nsFormatter.numberStyle = .decimal
guard let number = nsFormatter.number(from: amount) else {
return amount
}
nsFormatter.locale = Locale(identifier: language)
nsFormatter.numberStyle = .currency
return nsFormatter.string(from: number) ?? amount
}
print(currencyFormatter(language: "fr-FR", amount: "1234.45"))
// 1 234,45 €
关于swift - 货币格式的 NSNumberFormatter.number 在设备中不起作用但在模拟器中起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51084518/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!