gpt4 book ai didi

ios - Swift iOS - 如何从另一个用户的 formatter.locale 设置一个用户的 formatter.locale

转载 作者:行者123 更新时间:2023-11-29 05:44:23 24 4
gpt4 key购买 nike

userA 在法国,他们将某样东西的价格定为 10 欧元,我获取他们的货币信息,并使用 Locale.current.identifier 将其本地区域的副本记录到数据库,这给出了我 并将其保存到 dataModel.localeIdentifier

// when userA uploads
let formatter = NumberFormatter()
formatter.usesGroupingSeparator = true
formatter.numberStyle = .currency
formatter.locale = Locale.current
formatter.numberStyle = NumberFormatter.Style.currency

// save their Locale.current.identifier to the db
dataModel.localeIdentifier = Locale.current.identifier

userB 在英国,他们看到 userA 发布的内容,也许他们想以 20 欧元购买其中 2 个,这意味着我必须删除欧元符号,进行一些计算,然后稍后添加欧元符号。我只想使用 userA 中的 dataModel.localeIdentifier 并将其设置为 userB 使用的格式化程序,而不是手动将其附加回去。这样欧元符号就会出现在新金额 20 上

我希望它显示欧元符号,而不是使用显示英镑的 userB 的 Locale.current.identifier。我试过了,但没用

// userB
let amount = updatedAmount(amount: 20) // strips away the € sign and just uses the Double
let formatter = NumberFormatter()
formatter.usesGroupingSeparator = true
formatter.numberStyle = .currency

// identifierFromUserA is €
let identifierFromUserA = dataModel.localeIdentifier // this isn't nil because I'm force unwrapping it below
let localeFromUserA = Locale(identifier: identifierFromUserA!)

// *** after setting userB's formatter.locale to the one from localeFromUserA I'm still getting the local currency instead of the € ***
formatter.locale = localeFromUserA

formatter.numberStyle = NumberFormatter.Style.currency

// this should now show €20
let newAmount = formatter.string(from: NSNumber(value: amount))

问题是在将 userB 的 formatter.locale 设置为 localeFromUserA 之后,我仍然得到 userB 的本地货币而不是 €

最佳答案

这是一个编码错误,我发现了错误,在设置 userA 的 dataModel.localeIdentifier = Locale.current.identifier 时,我有另一个函数,后来将其更改为 dataModel.localeIdentifier = Locale.current.currencySymbol 这就是为什么我得到欧元符号 而不是 en_FR

关于ios - Swift iOS - 如何从另一个用户的 formatter.locale 设置一个用户的 formatter.locale,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56282202/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com