使0.93加到整数93

时间:2018-01-06 15:34:54

标签: swift double

self.humidityLbl.text = "Humidity: \(self.currentWeather.humidity)%"

输出Humidity: 0.93%。如何在Swift中将双0.93转换为整数93?

3 个答案:

答案 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)

我认为这是一种更安全的方式。