Swift开发:如何去除浮点数小数位?步数卡路里计算需求
快速解决Swift中卡路里数值去除小数位的问题
嘿,针对你要去掉步数消耗卡路里计算结果小数位的需求,这里有几个简单好用的方案,直接修改你那行代码就行:
方案1:直接转换为整数(截断小数)
如果不需要四舍五入,只想直接舍弃小数部分,把Float类型的bmi转成Int就可以了:
self.total2.text = "\(Int(bmi)) kcal"
比如计算结果是156.8,会直接变成156 kcal。
方案2:字符串格式化(自动四舍五入)
如果希望数值按常规四舍五入保留整数(更符合日常卡路里的展示逻辑),用String(format:)方法更合适:
self.total2.text = String(format: "%.0f kcal", bmi)
这里%.0f表示保留0位小数,比如156.6会变成157 kcal,156.3变成156 kcal。
方案3:使用NumberFormatter(灵活格式化)
如果之后有本地化或者更复杂的格式需求,用NumberFormatter会更灵活:
let formatter = NumberFormatter() formatter.numberStyle = .none // 纯数字格式 formatter.maximumFractionDigits = 0 // 小数位最多0位 if let formattedCalories = formatter.string(from: NSNumber(value: bmi)) { self.total2.text = "\(formattedCalories) kcal" }
这个方法会自动处理四舍五入,还能适配不同地区的数字格式。
另外提个小建议:你的变量名bmi其实不太合适哦,因为BMI是身体质量指数,这里计算的是卡路里,改成calories会让代码可读性更好~
内容的提问来源于stack exchange,提问作者Connor Berry
相关产品推荐
相关产品推荐

