首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

对于iPhone 8,Swift - NumberFormatter Number from字符串返回nil,但适用于其他设备

对于iPhone 8,Swift中的NumberFormatter在将字符串转换为数字时返回nil,但在其他设备上却适用的原因可能是由于不同设备的本地化设置导致的。

NumberFormatter是Swift中用于格式化和解析数字的类。它可以根据特定的本地化设置将字符串转换为数字,或将数字格式化为特定的字符串表示形式。

在iPhone 8上,如果NumberFormatter在将字符串转换为数字时返回nil,可能是由于以下原因之一:

  1. 本地化设置不同:不同设备的本地化设置可能会导致NumberFormatter的行为不同。例如,不同的地区使用不同的小数分隔符、千位分隔符和货币符号等。因此,在处理字符串转换时,需要确保使用正确的本地化设置。

解决方法:可以通过设置NumberFormatter的locale属性来指定特定的本地化设置。例如,可以使用Locale(identifier: "en_US")来指定使用美国英语的本地化设置。

代码语言:swift
复制
let formatter = NumberFormatter()
formatter.locale = Locale(identifier: "en_US")
let number = formatter.number(from: "123.45")
  1. 字符串格式不匹配:另一个可能的原因是字符串的格式与NumberFormatter的期望格式不匹配。例如,如果字符串包含非数字字符或小数点位置不正确,NumberFormatter可能无法正确解析。

解决方法:可以通过设置NumberFormatter的numberStyle属性来指定期望的数字格式。例如,如果字符串表示的是货币金额,可以将numberStyle设置为.currency。

代码语言:swift
复制
let formatter = NumberFormatter()
formatter.numberStyle = .currency
let number = formatter.number(from: "$123.45")

总结:在处理iPhone 8上的NumberFormatter问题时,需要注意本地化设置和字符串格式的匹配。通过正确设置locale属性和numberStyle属性,可以解决转换为数字时返回nil的问题。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

WWDC 2021新Formatter API:新老比较及如何自定义

WWDC 2021新Formatter API:新老比较及如何自定义 在WWDC 2021的What's in Foundation专题中,苹果隆重介绍了适用于Swift的新Formatter API...新API比旧API好吗 好和坏都是相对的,对于Swift开发为主或者只会Swift的程序员(比如我本人),新Formatter不仅学习和使用起来更容易,同时也更适合日益流行的声明式编程风格。...Double else {return nil} return String(value) } // 将格式化类型(字符串)转换回被格式化类型 override func...因此,尽管Formatter会针对不同区域提供不同语言的返回结果,为了兼容性,返回结果仍为String。 FormatStyle协议同时约定了必须满足Codable和Hashable。...任何长度为6或8的十六进制字符串都将被转换成UIColor。

1.4K30

对iOS应用中的文本进行本地化

对于这种使用了字符串插值的LocalizedString,我们需要使用字符串格式说明符,苹果的官方文档[5]为我们提供了详细的对照用法说明。...此时通过查看Drink.swift我们可以找出原因:对于已经明确了的String类型,Text是不会将其视作LocalizedStringKey的。...特定设备规则 nsstringdevicespecificruletype-pic@3x 目前支持的设备类型有:appletv、apple watch、ipad、iphone、ipod、mac 使用者不需要在代码中进行介入...,系统将根据使用者的硬件设备返回对应的内容 实战5:重新设定付款按钮 使用复数规则完善付款按钮。...: "Other") tableName同样适用于.stringdict 指定其他Bundle中的字符串文件 如果你的app中使用了包含多语言资源的其他Bundle时,可以指定使用其他Bundle中的字符串文件

2.2K20
  • ios开发之xcode环境介绍

    作为一个刚入门ios开发的人来说,对于ios开发,对于xcode一切都是那么的陌生,那么我们如何开始我们的第一步呢?...Device 我们选择只针对 iPhone 的,另外还有选项是 iPad 和 Universal(iPhone 和 iPad 都兼容)。...大家的这个界面可能比截图里的大,这里分别点击 1 2,然后在 3 所在的下拉框里选择 iPhone 4.7-inch,这个部分主要是改变设计期间的外观的,不影响实际运行的结果,最终的大小取决于你所运行的设备屏幕大小...接下来我们分别解释一下 1 的部分是从输入框中取出用户输入的内容,返回结果为 String 类型 2 是 Swift 里一种独特的用法,在 if 中直接声明变量,Int(resultText) 复杂将...注意特殊语法 (result) ,Swift字符串中可以插入任何变量或者表达式,只要把他们放在 (),程序就会对他们自动求值,然后转换成对应的字符串进行替换。

    2.4K60

    Swift 周报 第十三期

    本次发布会,iphone14pro 刘海依旧,刘海减少 30% 变更为“药丸”,并引入灵动岛设计,通过刘海变换多种交互UI。视网膜 XDR2000 尼特峰值,实现息屏显示。...9月8日凌晨,苹果秋季发布会推出 iPhone14 系列产品,其中最大亮点为 iPhone14pro 系列新增正面设计“灵动岛”。正面摄像头有一个较小的切口,在不同状态下挖孔形态不同,支持第三方应用。...更新适用于iPhone 5s、iPhone 6、iPhone 6 Plus、iPad Air、iPad mini 2、iPad mini 3 和 iPod touch(第 6 代) 影响:恶意制作的...天气应用程序的整体设计没有重大更新,苹果提供了更多信息。...“iPad 天气”,随着 iOS 16/ iPadOS 16 更新,终于有了适用于 iPad 的天气应用,相比 iPhone 版本可以更好地适应 iPad 的大显示屏。

    1.7K20

    Swift 周报 第三十六期

    8 月 25 日消息,根据国外科技媒体 9to5Mac 报道,苹果今年将调整 iPhone 15 Pro 和 iPhone 15 Pro Max 两款机型的颜色选项,取消金色,新增灰色。...而 iPhone 15 Pro 系列用的是 USB 3.2,传输速度能达到 20 Gbps,比标准版快 20 倍以上。 对于消费者来说,这将是多年来 iPhone 系列手机最大的改进之一。...配备该端口后,iPhone 用户在旅行时不再需要为手机和其他移动设备携带两根不同的充电线,不过想法是好的,苹果却不会这么干。...例如,当前如果类型是 ExpressibleByStringLiteral 只有某些字符串文字有效,则唯一的选择是在运行时遇到无效字符串文字时捕获。这违背了文字的编译时性质,而文字应该允许检查文字。...它也不适用于非可发送类型,除非我们强制该值在访问它时保持隔离。

    22320

    Swift 周报 第十八期

    目前,世界杯正在进行中,有关足球的消息总能吸引外界,苹果收购曼联这事确实让人摸不着头脑。 供应链确认 iPhone15 全系 C 口 供应链传出苹果下一代 iPhone 15 最新规格。...从语义上讲,LosslessStringConvertible 意味着它可以表示为字符串(例如整数),而 RawRepresentable 意味着它在底层是一个字符串(例如原始类型为 String 的枚举...://forums.swift.org/t/dangling-pointer-from-array/61609 [6]如何从 ReducerProtocol 中创建的alert回调中触发操作: https...://forums.swift.org/t/how-to-trigger-action-from-alert-callback-created-in-reducerprotocol/61598 [7]键路径与闭包的代码大小差异.../61589 [11]状态初始化器中的 UUID: https://forums.swift.org/t/uuid-in-state-initializer/61593 [12]对于金融计算用 Decimal

    2K20

    苹果仍在研发更大尺寸的 iMac | Swift 周报 issue 60

    上述苹果公告意味着,苹果将开始允许第三方使用 iPhone 的支付芯片来处理交易,等于允许银行和其他服务方与 Apple Pay 平台竞争。...相关承诺将具法律约束力,为期 10 年,适用于整个欧洲经济区。2022 年,欧盟委员会指控苹果公司限制第三方移动支付应用开发者使用 NFC,这使苹果支付在和其他同类产品竞争中获得不公平的优势。...为了解决这个问题,作者必须使用捕获列表 [ _headerCell ],这一点并不直观,特别是对于初学者来说。...相对而言,Swift Testing 中的 confirmation() API 不会等待,它要求 Confirmation 在闭包返回之前得到确认。...在实际应用中,start() 函数创建了一个无结构的Task,没有等待其值,这意味着当 start() 返回时,任务中的异步操作可能尚未完成。

    12811

    Swift 周报 第三十五期

    不久前的 6 月份,苹果公司刚成为首家市值超过 3 万亿美元的企业,其最新一季的财报却引发了投资者对其手机与其他设备需求不振的担忧。 8 月 4 日,苹果公司公布了三季度财报。...公司股价接连下跌 苹果公司三季报发布日恰在其新产品 iPhone15 系列新机上市前,市场预期苹果手机这一新机型受追捧程度不如以往。...我们建议添加新的 String 可失败 Initializers,用于验证编码输入,并在输入包含任何无效元素时返回 nil。...提议Swift 分布式追踪[5] 动机 虽然 Logging[6] 和 Metrics[7] 可以用于仪器化应用程序的特定部分, Distributed Tracing[8] 提供了对整个分布式系统的整体视图...我仔细分析了开源实现,试图揭示出现 nil 可选值的源头,但我看不到任何问题,我认为这与当前发布的代码不同。 对于我哪里的逻辑出了问题,有什么建议吗?

    22430

    【IOS开发基础系列】UIAlertController专题

    UIAlertAction由标题字符串、样式以及当用户选中该动作时运行的代码块组成。...和对话框不同,上拉菜单的展示形式和设备大小有关。在iPhone上(紧缩宽度),上拉菜单从屏幕底部升起。在iPad上(常规宽度),上拉菜单以弹出框的形式展现。         ...接下来我们就可以在iPhone或者其他紧缩宽度的设备上展示了,不出我们所料,运行得很成功。     ...当我们使用iPad或其他常规宽度的设备时,就会得到一个运行时异常: Terminating app due to uncaught exception ‘NSGenericException’, reason...在iOS 8中我们不再需要小心翼翼地计算出弹出框的大小,UIAlertController将会根据设备大小自适应弹出框的大小。并且在iPhone或者紧缩宽度的设备中它将会返回nil值。

    51230

    万字长文|Swift语法全面解析|附示例

    Swift 通过采用现代编程模式来避免大量常见编程错误: 变量始终在使用前初始化。 检查数组索引超出范围的错误。 检查整数是否溢出。 可选值确保明确处理 nil 值。 内存被自动管理。...是 UInt8 类型 类型安全和类型推断 Swift 是一门类型安全的语言,这意味着 Swift 可以让你清楚地知道值的类型。...可以在已有字符串中插入常量、变量、字面量和表达式从而形成更长的字符串Swift 提供了三种方式来比较文本值:字符串字符相等、前缀相等和后缀相等。...Glad you could visit from Cupertino.” // 可选元组返回类型 func minMax(array: [Int]) -> (min: Int, max: Int)?...+ output number /= 10 } while number > 0 return output } // strings 常量被推断为字符串类型数组,即 [

    3.6K22

    iOS安全基础之钥匙串与哈希

    前言 本文最初是由Chris Lowe编写的,后来经过Ryan Ackermann(ios系统开发者)的修改,已经可以针对最新的Xcode 9.2,Swift 4,iOS 11和iPhone X了。...对于这个应用程序样本,用户的电子邮件会被用作钥匙串的标识符,但对其他样本来说也可以是唯一的用户标识或用户名。...\(salt)".sha256() } 实现这种方法的前提是需要一个电子邮件和密码,并返回一个哈希字符串。通过加入盐值(salt)即盐化可以用来制作通用密码的唯一字符串。...返回signIn(_:password:),将调用savePassword的行替换为: let finalHash = passwordHash(from: user.email, password: ...) 这样该通知就会被应用程序的其他部分被看见,在AppController.swift的内部,你可以在show(in:)之上添加一个init方法。

    2.8K20

    学习PHP中国际化地数字格式处理

    学习PHP中国际化地数字格式处理 不知道大家有没有了解过,对于数字格式来说,西方国家会以三位为一个进位,使用逗号来分隔。比如,12345678,用标准的格式来表示的话就是 12,345,678 。...格式化规则设置 虽说已经有这么多的规则格式供我们使用了,大家的业务总是千奇百怪的,我们能不能定义自己的格式规则呢?既然这么写了,那当然是可以的啦。...var_dump($fmt->getPattern()); // string(8) "#,##0.##" $fmt->setPattern("#0.# kg"); var_dump($fmt->getPattern...另外一个方法是 parseCurrency() 方法,从名字就可以看出,它是将货币格式转回数字,并且,很重要的一点是,它的第二个引用参数,可以将货币符号的通用编码也返回回来,比如测试代码中返回的 CNY...另外,这一套 NumberFormatter 对象也是提供了面向过程的函数式使用方法的,比如 numfmt_create() ,记住是 numfmt_ 开头的函数哦,不要和 number_format(

    1K20

    iPhone 15 系列跌破 5000 元大关 | Swift 周报 issue 46

    业务以外的其他所有硬件业务均出现了同比下滑。...该授权适用于在美国店面的 iOS 或 iPadOS App Store 上提供 App 内购买项目的 App,获得授权的开发者可在 App 内包含自己网站的链接,以告知用户还有其他购买数字商品或服务的方式...Swift论坛1) 提议字符串插值的默认值内容概括该提案建议向 Swift 添加一项新功能,以解决涉及可选值的字符串插值的挑战。...这段代码看起来不错,我假设 bc 消耗可以简单地取消初始化完成处理程序。 我正在尝试做的事情是否可能或可能已计划尚未实施?回答由于提前退出和仿制药等问题,它变得很棘手。...当调用者可能拥有对值的唯一剩余引用时,使用消费是一种优化,允许调用者存储参数或将其用作聚合返回值的一部分而不复制它,或者只是提前结束其生命周期 。

    13632

    Swift:map(), flatMap() 和 compactMap() 的区别

    适用于任何数据类型,因此我们可以使用它来大写字符串数组: let wizards = ["Harry", "Hermione", "Ron"] let uppercased = wizards.map...如果不存在,它将返回nil,因此此方法将返回一个可选字符串。 我们可以使用map()读取发送回的值,并对其进行转换: let name: String?...(如果name不包含字符串nil,map()将直接返回nil给greeting。)所以返回值类型是String?...最后一个转换返回了可选的整数,因此我们还研究了compactMap()将如何执行相同的转换,随后解包可选参数并丢弃所有nil值。...可选的可选参数使用起来非常混乱,这就是flatMap()出现的地方:它不仅执行转换(其名称的“map”部分),随后将返回的内容展平,因此“可选的可选参数”变为“可选的”。

    3.4K20
    领券