0

我无法使用多个 subs 为多种货币制作转换器。我一直收到一个错误,说数字是朋友,因此不能在日本转换中使用。谁能帮忙?先感谢您

Option Explicit On
'Option Strict On

Imports System

Module Yahtzed

    Sub CANtoUSD()
        Dim Number , USDConversion as Decimal
        Number = Console.Readline
        USDConversion =( Number * 1.0141)
        Console.Writeline(USDConversion)
    End Sub

    Sub CANtoJAP()
        Dim Number, JAPConversion as Decimal
        Number = Console.Readline
        JAPConversion =( Number * 79.9392)
        Console.Writeline(JAPConversion)
    End Sub

    Sub Main()
        Console.Writeline("Enter the CAN amount: ")
        CANtoUSD()
        CANtoJAP()

    End Sub

End Module
4

1 回答 1

1

不是直接的答案,但这需要比评论更多的空间。

您的代码中有一个基本的设计错误。你真的想像这样构造它:

Function CANtoUSD(Number As Decimal) As Decimal
    Dim USDConversion as Decimal = 1.0141
    Return USDConversion * Number
End Function 

Function CANtoJAP(Number As Decimal) As Decimal
    Dim JAPConversion as Decimal = 79.9392
    Return JAPConversion * Number
End Function 

Sub Main()
    Console.Writeline("Enter the CAN amount: ")
    Dim input As Decimal = Console.ReadLine()

    Console.WriteLine(CANtoUSD(input))
    Console.WriteLine(CANtoJAP(input))
End Sub

你不想为你的方法混合责任。输入/输出应与操作数据的代码严格分开。如果不出意外,这可以更容易地测试您的特定转换方法是否完全按照预期工作,并且不会成为您的错误的来源。

稍后,您将学习如何拥有一个接受源类型和目标类型的键值的单一方法,并通过了解转换因子到通用货币来执行表格查找以将任何货币转换为任何其他货币。

于 2012-10-17T01:21:33.577 回答