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

NumberFormatter的generatesDecimalNumbers不起作用

NumberFormatter 是 iOS 和 macOS 开发中用于格式化数字的类。如果你发现 generatesDecimalNumbers 属性不起作用,可能是以下几个原因:

基础概念

NumberFormatter 是一个用于将数字转换为不同本地化格式的类。generatesDecimalNumbers 属性用于指示 NumberFormatter 是否应该生成小数数字。如果设置为 true,则生成的数字将包含小数部分;如果设置为 false,则生成的数字将是整数。

可能的原因

  1. 属性设置时机:可能在设置 generatesDecimalNumbers 属性之后,又重新设置了其他属性,导致该属性被覆盖。
  2. 格式化模式NumberFormatternumberStyle 或其他相关属性可能影响了小数部分的生成。
  3. 数值本身:如果原始数值本身就是整数,即使 generatesDecimalNumbers 设置为 true,也不会生成小数部分。

解决方法

  1. 确保属性设置顺序: 确保在设置 generatesDecimalNumbers 属性之后,不再修改其他可能影响小数生成的属性。
  2. 确保属性设置顺序: 确保在设置 generatesDecimalNumbers 属性之后,不再修改其他可能影响小数生成的属性。
  3. 检查数值类型: 确保你正在格式化的数值本身包含小数部分。
  4. 检查数值类型: 确保你正在格式化的数值本身包含小数部分。
  5. 调试输出: 在设置属性后,打印出 NumberFormatter 的配置,确保 generatesDecimalNumbers 属性被正确设置。
  6. 调试输出: 在设置属性后,打印出 NumberFormatter 的配置,确保 generatesDecimalNumbers 属性被正确设置。

示例代码

以下是一个完整的示例,展示了如何正确设置 NumberFormatter 并生成包含小数部分的数字:

代码语言:txt
复制
import Foundation

let formatter = NumberFormatter()
formatter.generatesDecimalNumbers = true
formatter.numberStyle = .decimal

let number = 123.45
if let formattedNumber = formatter.string(from: NSNumber(value: number)) {
    print(formattedNumber) // 输出: 123.45
} else {
    print("格式化失败")
}

参考链接

通过以上步骤,你应该能够解决 generatesDecimalNumbers 属性不起作用的问题。如果问题仍然存在,请检查是否有其他代码或配置影响了 NumberFormatter 的行为。

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

相关·内容

[PHP] PHP7.4.3安全版本的更改日志

核心: 修复了错误#71876(内存损坏htmlspecialchars():不支持字符集*))。 修复了错误#79146(CScript在某些系统上可能无法运行)。 修复了错误#78323(无效选项返回代码0)。 修复了错误#76047(访问已破坏的回溯参数时可以自由使用)。 CURL: 修复了错误#79078(curl_multi_add_handle()中的假定使用后释放)。 国际: 修复了错误#79212(NumberFormatter :: format()可能检测到错误的类型)。 Libxml: 修复了错误#79191(SoapClient ctor中的错误禁用了DOMDocument :: save())。 MBString: 修复了错误#79154(mb_convert_encoding()可以修改$ from_encoding)。 MySQLnd: 修复了错误#79084(mysqlnd可能使用MYSQLI_BOTH提取错误的列索引)。 OpenSSL: 修复了错误#79145(openssl内存泄漏)。 Phar: 修复了错误#79082(使用Phar :: buildFromIterator添加到tar的文件具有完全访问权限)。 (CVE-2020-7063) 修复了错误#79171(phar_extract_file中的堆缓冲区溢出)。 (CVE-2020-7061) 修复了错误#76584(PharFileInfo :: decompress不起作用)。 反射: 修复了错误#79115(ReflectionClass :: isCloneable调用反映类__destruct)。 Session: 修复了错误#79221(PHP Session上传进度中的空指针取消引用)。 (CVE-2020-7062) SPL: 修复了错误#79151(释放后由spl_dllist_it_helper_move_forward导致的堆使用)。 标准: 修复了错误#78902(使用stream_filter_append时发生内存泄漏)。 测试: 修复了错误#78090(bug45161.phpt永远需要完成)。 XSL: 修复了错误#70078(带有节点作为参数泄漏内存的XSL回调)。

03
  • 领券