You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Swift中Double转String失败:为何转换结果出现异常?

Double转String出现异常值的原因及解决方法

你用错了格式化占位符:%d是专门用于格式化**整数类型(Int)**的占位符,但你传入的是Double类型的94.1。这种类型不匹配会导致系统错误解析Double的内存数据,最终输出无意义的整数1717986918。

正确的处理方式

有几种常用的正确写法可以实现Double到String的转换:

  1. 指定小数位数的格式化输出
    用%f(默认保留6位小数)或%.1f(指定保留1位小数)匹配Double类型:

    let aaa: Double = 94.1
    let bbb = String(format: "%.1f", aaa )
    print("bbb:", bbb ) // 输出 bbb: 94.1
    
  2. 简洁的直接转换
    不需要复杂格式化时,直接使用String初始化器:

    let aaa: Double = 94.1
    let bbb = String(aaa)
    print("bbb:", bbb ) // 输出 bbb: 94.1
    
  3. Swift 5.5+的灵活格式化
    使用formatted()方法支持更多格式控制:

    let aaa: Double = 94.1
    let bbb = aaa.formatted()
    print("bbb:", bbb ) // 输出 bbb: 94.1
    

内容的提问来源于stack exchange,提问作者Doug Null

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 09:27:01