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

如何使用Swift的.formatted()方法去除小数末尾的零?

使用Swift新的.formatted()去除Double末尾零

你可以通过Swift新的格式化API实现和NumberFormatter完全一致的效果,关键是给fractionLength同时指定最小和最大小数位数,而不是只传单个数值。

之前你用NumberFormatter时设置了minimumFractionDigits = 0和maximumFractionDigits = 2,对应到新API里,只需要用.fractionLength(min: 0, max: 2)即可:

// 测试示例
print(1.0000.formatted(.number.precision(.fractionLength(min: 0, max: 2)))) // 输出 "1"
print(1.2345.formatted(.number.precision(.fractionLength(min: 0, max: 2)))) // 输出 "1.23"
print(1.2000.formatted(.number.precision(.fractionLength(min: 0, max: 2)))) // 输出 "1.2"

这个写法和你原来的NumberFormatter逻辑完全匹配:当小数部分全是零时,自动省略小数位;有有效小数位时,最多保留两位,同时去掉末尾多余的零。

内容的提问来源于stack exchange,提问作者William T.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 15:55:20