Swift - 如果小数等于 0,如何从浮点数中删除小数? [英] Swift - How to remove a decimal from a float if the decimal is equal to 0?
本文介绍了Swift - 如果小数等于 0,如何从浮点数中删除小数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在显示一个小数点的距离,如果它等于 0(例如:1200.0Km),我想删除这个小数点,我怎样才能快速做到这一点?我这样显示这个数字:
I'm displaying a distance with one decimal, and I would like to remove this decimal in case it is equal to 0 (ex: 1200.0Km), how could I do that in swift? I'm displaying this number like this:
let distanceFloat: Float = (currentUser.distance! as NSString).floatValue
distanceLabel.text = String(format: "%.1f", distanceFloat) + "Km"
推荐答案
Swift 3/4:
var distanceFloat1: Float = 5.0
var distanceFloat2: Float = 5.540
var distanceFloat3: Float = 5.03
extension Float {
var clean: String {
return self.truncatingRemainder(dividingBy: 1) == 0 ? String(format: "%.0f", self) : String(self)
}
}
print("Value (distanceFloat1.clean)") // 5
print("Value (distanceFloat2.clean)") // 5.54
print("Value (distanceFloat3.clean)") // 5.03
Swift 2(原始答案)
let distanceFloat: Float = (currentUser.distance! as NSString).floatValue
distanceLabel.text = String(format: distanceFloat == floor(distanceFloat) ? "%.0f" : "%.1f", distanceFloat) + "Km"
或作为扩展:
extension Float {
var clean: String {
return self % 1 == 0 ? String(format: "%.0f", self) : String(self)
}
}
这篇关于Swift - 如果小数等于 0,如何从浮点数中删除小数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文