2014-12-13 105 views
1

我正在尝试制作一个非常基本的应用程序,告诉我货币换算。我设法通过在美元文本框中添加一个值并将它乘以60后转换成INR,从而很容易地从美元转换为INR。但是,当我想要了解美元的价值并将INR值中的值分开时场60,这两个文本字段弹出消息说基本货币换算应用程序

请输入一个值

这是我写的代码:

@IBOutlet weak var dollar: UITextField! 

@IBOutlet weak var rupee: UITextField! 

@IBAction func convert(sender: AnyObject) { 

    var dollarNew = dollar.text.toInt() 

    if (dollarNew != nil) { 
      dollarNew = dollarNew! * 60 
      rupee.text = "\(dollarNew!)" 
    } else { 
     rupee.text = "Please enter a value" 
    } 

    var rupeeNew = rupee.text.toInt() 

    if (rupeeNew != nil) { 
     rupeeNew = rupeeNew!/60 
     dollar.text = "\(rupeeNew!)" 
    } else { 
     dollar.text = "Please enter a value" 
    } 


} 

我非常新的规划,并在xCode也是如此。任何人都可以通过告诉我我哪里出错了吗?

+0

通读您的代码。两种文本字段在什么情况下显示消息? – Abizern 2014-12-13 18:09:35

+0

嘿,所以我玩了一下代码,并从我的'if语句'中删除了'else'。这样做帮助我摆脱了这个问题。不管怎样,条件实际上是这样的,即如果在这些文本字段中没有任何值,即'美元'或'卢比',那么应该在另一字段中弹出的消息是“请输入一个值”。如果它不是零,则乘以或除60取决于输入值的字段。 – 2014-12-13 18:19:35

回答

0

错误的原因如下:

您在卢比字段中输入内容。由于美元字段为空,代码将进入第一个else子句并将卢比字段中的文本设置为“请输入值”。

然后,您从卢比字段中获取文本并尝试获取int值。但是这不能转换为int。因此你得到零。然后输入第二个else子句。这为美元字段设置了“请输入一个值”。