Swift中如何将Double值0.93转为整数93以修正湿度显示?
在Swift中将湿度小数转换为百分比整数的方法
嘿,这个场景我太熟悉了!要把0.93这类0-1之间的Double小数转成93%这种整数百分比格式,Swift里有几种实用的实现方式,我给你拆解一下:
直接截断转换:如果你不需要四舍五入,只是想把小数部分直接去掉,直接把湿度值乘以100后转成Int类型就行,代码如下:
self.humidityLbl.text = "Humidity: \(Int(self.currentWeather.humidity * 100))%"注意:这种方式会直接截断小数部分,比如0.939会被转成93,而不是94。
带四舍五入的转换(更推荐):如果想要符合日常百分比的展示逻辑(比如0.935要显示94%),可以先用
rounded()方法处理后再转Int:self.humidityLbl.text = "Humidity: \(Int((self.currentWeather.humidity * 100).rounded()))%"rounded()默认会四舍五入到最近的整数,也可以根据需求指定rounded(.up)(向上取整)或者rounded(.down)(向下取整)。安全处理可选值:如果你的
currentWeather.humidity是可选类型(比如网络请求还没返回数据时可能为nil),一定要加可选绑定避免崩溃,示例代码:if let humidityValue = self.currentWeather.humidity { self.humidityLbl.text = "Humidity: \(Int((humidityValue * 100).rounded()))%" } else { self.humidityLbl.text = "Humidity: N/A" }
内容的提问来源于stack exchange,提问作者articga
相关产品推荐
相关产品推荐

