货币转换器Visual Basic 2010

时间:2013-10-08 23:01:44

标签: vb.net

我在这里通过手动处理货币转换有点问题。

如何将另一个值放在同一个已存在的组合框中,答案必须是不同的。

示例日元兑美元= 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 个答案:

答案 0 :(得分: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