当前位置: 首页 > 面试题库 >

在Swift中与NSNumberFormatter争夺货币

叶琦
2023-03-14
问题内容

我正在创建一个预算应用程序,允许用户输入他们的预算以及交易。我需要允许用户从单独的文本字段中输入便士和英镑,并且它们需要与货币符号一起设置格式。我目前可以正常使用,但希望将其本地化,因为目前仅适用于GBP。我一直在努力将NSNumberFormatter示例从Objective
C转移到Swift。

我的第一个问题是我需要为输入字段设置占位符以使其特定于用户位置。例如。磅,便士,美元和美分等…

第二个问题是,需要格式化每个文本字段(例如10216和32)中输入的值,并且需要添加特定于用户位置的货币符号。因此它将变成10,216.32英镑或10,216.32美元等…

另外,我需要在计算中使用格式化数字的结果。那么,如何在不遇到货币符号问题的情况下做到这一点呢?

任何帮助将非常感激。


问题答案:

这是一个有关如何在Swift 3上使用它的示例。( 编辑 :在Swift 4中也可以使用)

let price = 123.436 as NSNumber

let formatter = NumberFormatter()
formatter.numberStyle = .currency
// formatter.locale = NSLocale.currentLocale() // This is the default
// In Swift 4, this ^ has been renamed to simply NSLocale.current
formatter.string(from: price) // "$123.44"

formatter.locale = Locale(identifier: "es_CL")
formatter.string(from: price) // $123"

formatter.locale = Locale(identifier: "es_ES")
formatter.string(from: price) // "123,44 €"

这是关于如何在Swift 2上使用它的旧示例。

let price = 123.436

let formatter = NSNumberFormatter()
formatter.numberStyle = .CurrencyStyle
// formatter.locale = NSLocale.currentLocale() // This is the default
formatter.stringFromNumber(price) // "$123.44"

formatter.locale = NSLocale(localeIdentifier: "es_CL")
formatter.stringFromNumber(price) // $123"

formatter.locale = NSLocale(localeIdentifier: "es_ES")
formatter.stringFromNumber(price) // "123,44 €"


 类似资料:
  • 问题内容: 我正在阅读,并且想知道如何在课堂上演示数据竞赛。基本上,我正在尝试模拟一种失败的情况,因此有必要使用。关于如何模拟这一点的任何建议。 问题答案: 竞争是指两个(或多个)线程尝试对共享数据进行操作,而最终输出取决于访问数据的顺序(并且该顺序是不确定的) 从维基百科: 竞赛状况或竞赛危害是电子系统或过程中的缺陷,由此过程的输出和/或结果意外地且严重地取决于其他事件的顺序或时间。该术语起源于

  • 本文向大家介绍iOS中NSNumberFormatter的介绍与用法,包括了iOS中NSNumberFormatter的介绍与用法的使用技巧和注意事项,需要的朋友参考一下 前言 iOS中NSDateFormatter用的范围一般来说比较广泛,不过相对于处理数字而言,很少用到NSNumberFormatter,NSNumberFormatter中有很多枚举类型,会为实际开发节省时间. NSNumbe

  • 来源:http://www.infoq.com/cn/news/2015/09/Python 随着科技的发展,拥有高容量、高速度和多样性的大数据已经成为当今时代的主题词。数据科学领域中所采用的机器学习编程语言大相径庭。究竟哪种语言最适合机器学习成为争论不休的话题。近日,密西根州立大学的博士生Sebastian Raschka再次发起了机器学习编程语言之争,分析了自己选择Python的原因。 目前,

  • 我正在努力理解rxJs中的平面图和连续图之间的区别。 我能理解的最清楚的答案是concatmap和flatmap之间的区别 所以我自己去试了试。 我用这里的操场操场作为例子 问题 1)根据我的理解,平面图的使用应该混合输出,这样控制台日志就像(1,3,2,4,5)。我尝试了30多次,总是出现在同一行(1, 2, 3, 4, 5) 我做错了什么,或者我做错了什么? 2)如果在和上删除注释并包含包含多

  • Recaptcha是一个付费的谷歌账户,在Recaptcha上有超过1,000,000次点击(谷歌的免费配额)。 没有选择免费Recaptcha上提供的不可见v2 Recaptcha的选项,只有复选框选项或Recaptcha企业版(v3)。 当尝试使用复选框版本i. e 站点密钥,并试图在size=“隐形”中实现它。我在recaptcha徽章上看到了此文本: 未为不可见验证码启用此站点密钥。 使用

  • 问题内容: 我正在尝试在用户输入时在Swift的文本字段中格式化货币输入。 到目前为止,我只能在用户完成输入后才能成功格式化它: 但是,我希望在用户输入货币后立即对其进行格式化。当我尝试在TextField操作“ Edited Changed”或“ Value Changed”上执行此操作时,我只能输入1个数字(如果输入8,则变为$ 8.00),但是一旦输入第二个数字,所有内容将变为$ 0.00,