【发布时间】:2017-04-05 22:39:09
【问题描述】:
我正在制作一个使用 Swift 读取电池百分比的应用! 现在我的输出是这样的: 61.0% 或 24.0% 或 89.0% 我要解决的是摆脱 .0 所以它是一个 Int。 到目前为止,这是我的代码:
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var infoLabel: UILabel!
var batteryLevel: Float {
return UIDevice.current.batteryLevel
}
var timer = Timer()
func scheduledTimerWithTimeInterval(){
timer = Timer.scheduledTimer(timeInterval: 60, target: self, selector: #selector(self.someFunction), userInfo: nil, repeats: true)
}
func someFunction() {
self.infoLabel.text = "\(batteryLevel * 100)%"
}
override func viewDidLoad() {
super.viewDidLoad()
UIDevice.current.isBatteryMonitoringEnabled = true
someFunction()
scheduledTimerWithTimeInterval()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
我尝试过这样的事情:
var realBatteryLevel = Int(batteryLevel)
但是,我得到了这个error
我尝试了其他方法,但没有任何运气。请,任何解决方案都会很棒!提前致谢!
编辑
我正在考虑将浮点数 batteryLevel 转换为字符串,然后将“.0”替换为“”,我在某处看到过,但是我不确定如何操作!
【问题讨论】:
-
在
someFunction中进行整数转换或将realBatteryLevel声明为计算变量 -
@Paulw11 不幸的是,无论出于何种原因,这两种方法都不会导致错误,但是它们都使我的输出为 0%
标签: ios swift xcode swift3 string-formatting