self.humidityLbl.text = "Humidity: \(self.currentWeather.humidity)%"
输出Humidity: 0.93%
。如何在Swift中将双0.93转换为整数93?
答案 0 :(得分:7)
使用NumberFormatter
percent
样式来显示百分比
给用户的价值。这将使用适当的用户格式
语言环境。例子:
let humidity = 0.93
let formatter = NumberFormatter()
formatter.numberStyle = .percent
formatter.locale = Locale(identifier: "en") // English
print(formatter.string(for: humidity)!) // 93%
formatter.locale = Locale(identifier: "de") // German
print(formatter.string(for: humidity)!) // 93 %
formatter.locale = Locale(identifier: "tr") // Turkish
print(formatter.string(for: humidity)!) // %93
formatter.locale = Locale(identifier: "ar") // Arabic
print(formatter.string(for: humidity)!) // ٩٣ ٪
这里我将formatter.locale
设置为不同的值
示范目的。如果您没有分配值,则表示用户已分配
使用默认设置。
答案 1 :(得分:4)
简单。乘以100并转换为Int
。
self.humidityLbl.text = "Humidity: \(Int(self.currentWeather.humidity * 100))%"
如果您想获得幻想,请在Double
上创建一个帮助扩展程序:
extension Double {
func percent() -> Int {
return Int(self * 100)
}
}
self.humidityLbl.text = "Humidity: \(self.currentWeather.humidity.percent())%"
答案 2 :(得分:0)
您可以在将它乘以100后转换为Int
,但您可以改为使用NSNumber:
let intNumber = NSNumber.init(value: 0.93 * 100).intValue
print(intNumber)
我认为这是一种更安全的方式。