2013-10-08 56 views
0

我在這裏處理手動貨幣轉換有點問題。貨幣轉換器視覺基本2010年

如何把另一個值放在同一個存在的組合框上,答案必須不同。

例如日元兌美元= 12.43但美元兌日元的確有同樣的答案。

什麼是將值放在combobox2上的方法,設置時答案總是不同。


Private Sub CurrencyFromCombobox_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CurrencyFromCombobox.SelectedIndexChanged 


Select Case CurrencyFromCombobox.Text 

Case "Japanese Yen - JPY" 
      fromjapan = 1 
     Case "U.S. Dollar - USD" 
      fromUSdollars = 1 
    End Select 


Private Sub CurrencyToCombobox_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CurrencyToCombobox.SelectedIndexChanged 
    Select Case CurrencyToCombobox.Text 
     Case "Japanese YEN - JPY" 
      japanto = 1.0 
      USto = 323 
     Case "Euro - EUR" 
      japanto = 0.0075774548 
     Case "British Pound - GBP" 
      japanto = 0.0064142153 
     Case "Indian Rupee - INR" 
      japanto = 0.6309714918 
     Case "Australian Dollar - AUD" 
      japanto = 0.0108982954 
     Case "U.S. Dollar - USD" 
      japanto = 0.0102789194 
     Case "Canadian Dollar - CAD" 
      japanto = 0.010583474 
     Case "UAE Dirham - AED" 
      japanto = 0.0377534428 

    End Select 


    '------------------------------------------------------------Currency rates ffom US  Dollars 
    Select Case CurrencyToCombobox.Text 
     Case "Japanese YEN - JPY" 
      USto = 323 
     Case "Euro - EUR" 
      USto = 0.7368 
     Case "British Pound - GBP" 
      USto = 0.6217 
    End Select 
End Sub 

    Private Sub Enterbutton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Enterbutton.Click 
    Dim enter As Decimal 

    ' Japanese yen conversion 
    enter = Val(Enteramounttxt.Text) 
    result = enter * fromjapan * japanto 
    Resulttxt.Text = result.ToString 

    ' US Dollar conversion 

    result1 = enter * fromUSdollars * USto 
    Resulttxt.Text = result1.ToString 
End Sub 
+1

這不是一個很好的項目,因爲貨幣總是會改變。最好的辦法是連接到Google貨幣轉換API,它總是有最新的貨幣值。 – SSpoke

回答

2

試試這個(需要互聯網連接工作)

Public Class Form1 

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
     MsgBox(Convert(0.5, "USD", "EUR")) 
    End Sub 

    Public Function Convert(ByVal amount As Decimal, ByVal fromCurrency As String, ByVal toCurrency As String) As Decimal 

     Dim web As System.Net.WebClient = New System.Net.WebClient() 
     Dim url As String = String.Format("http://www.google.com/ig/calculator?hl=en&q={2}{0}%3D%3F{1}", fromCurrency.ToUpper(), toCurrency.ToUpper(), amount) 
     Dim response As String = web.DownloadString(url) 

     Dim regex As System.Text.RegularExpressions.Regex = New System.Text.RegularExpressions.Regex("rhs: \""(\d*.\d*\.?\d*)") 
     Dim match As System.Text.RegularExpressions.Match = regex.Match(response) 

     Dim rate As Decimal = System.Convert.ToDecimal(match.Groups(1).Value) 
     Return rate 
    End Function 
End Class