2014-12-13 84 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子句。這爲美元字段設置了「請輸入一個值」。