Xcode 将字符串从标签转换为Int
我有一个按钮,可将1添加到尝试分数标签,然后有一个按钮可将1或0添加到正确的分数标签,具体取决于按下哪个按钮。然后,该数据被传递到各个ViewController。在最后一个viewController中,我想将标签中的字符串转换为int,然后进行简单的计算以获得百分比。我试过的代码如下。百分比未显示,因此我认为我没有正确转换它 在以前的VC中,aScore和cScore设置为=0的变量。例如Xcode 将字符串从标签转换为Int,xcode,swift3,Xcode,Swift3,我有一个按钮,可将1添加到尝试分数标签,然后有一个按钮可将1或0添加到正确的分数标签,具体取决于按下哪个按钮。然后,该数据被传递到各个ViewController。在最后一个viewController中,我想将标签中的字符串转换为int,然后进行简单的计算以获得百分比。我试过的代码如下。百分比未显示,因此我认为我没有正确转换它 在以前的VC中,aScore和cScore设置为=0的变量。例如 var aScore = 0 var cScore = 0 我在VC之间传递数据,然后在最终的vie
var aScore = 0
var cScore = 0
我在VC之间传递数据,然后在最终的viewController上退出以下代码
import UIKit
class gViewController: UIViewController {
@IBOutlet weak var correctScore: UILabel!
@IBOutlet weak var attemptScore: UILabel!
@IBOutlet weak var percentage: UILabel!
var aScore: Int!
var cScore: Int!
var percentage1: Int!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
correctScore.text = NSString(format: "%i", cScore) as String
attemptScore.text = NSString(format: "%i", aScore) as String
let c:Int? = Int(correctScore.text!)
let a:Int? = Int(attemptScore.text!)
percentage1 = c!/a!
percentage.text = NSString(format: "%i", percentage1) as String
}
试试这个
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
self.correctScore.text = String(format: "%.1f", cScore)
self.attemptScore.text = String(format: "%.1f", aScore)
var percentage1 = Float(cScore)/Float(aScore)
self.percentage.text = String(format: "%.1f", percentage1)
}试试这个
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
self.correctScore.text = String(format: "%.1f", cScore)
self.attemptScore.text = String(format: "%.1f", aScore)
var percentage1 = Float(cScore)/Float(aScore)
self.percentage.text = String(format: "%.1f", percentage1)
}您能在
百分比1
之前打印a
和c
值的吗?然后打印百分比1
值和百分比
值?您需要首先确保变量具有值。为什么首先将Int
转换为NSString
,然后将NSString
转换为Int
?为什么不在最后一个视图控制器之前,在ViewController上执行cScore/aScore
,我已使用代码:Var aScore=0将cScore和aScore设置为0。我已经编辑了上面的帖子。因此,为什么我尝试将它们转换为INT,您可以在百分比1
之前打印a
和c
值吗?然后打印百分比1
值和百分比
值?您需要首先确保变量具有值。为什么首先将Int
转换为NSString
,然后将NSString
转换为Int
?为什么不在最后一个视图控制器之前,在ViewController上执行cScore/aScore
,我已使用代码:Var aScore=0将cScore和aScore设置为0。我已经编辑了上面的帖子。因此,我尝试将它们转换为前面的ViewController,并存在以下代码:var aScore=0 var cScore=0。因此,当我开始计算百分比时,您给出的代码不起作用。我用发生的事情的图片编辑了原始帖子。您确实有一个int类型的变量aScrote和cScore。对于除法,请确保它们被解释为float或double进行除法。@KeironMorris您所说的上一个viewController是什么意思?您是否正在将数据从一个VC传递到另一个VC?是的,我正在使用Segue将数据从一个VC传递到另一个VC@f_qi@KeironMorris传递数据时,请确保数据确实传递到目标VC。在以前的ViewController上,存在以下代码:var aScore=0 var cScore=0。因此,当我开始计算百分比时,您给出的代码不起作用。我用发生的事情的图片编辑了原始帖子。您确实有一个int类型的变量aScrote和cScore。对于除法,请确保它们被解释为float或double进行除法。@KeironMorris您所说的上一个viewController是什么意思?您是否正在将数据从一个VC传递到另一个VC?是的,我正在使用Segue将数据从一个VC传递到另一个VC@f_qi@KeironMorris传递数据时,确保数据确实传递到目标VC。