VB.Net 中的货币等价物?

Zal*_*ikh 2 vb.net migration vb6 vb6-migration

我正在将一个应用程序从 VB6 迁移到 VB.Net,它使用货币类/结构。我的问题是:以下代码中 VB6货币的“等价物”是什么?

Public Function getTimeElapsed() As Double

    Dim cuStart As Currency
    Dim cuStop As Currency
    Dim cuFreq As Currency
    Dim v As Double
    Dim ReturnValue As Double

    QueryPerformanceFrequency(liFrequency)

    cuStart = LargeIntToCurrency(liStart)
    cuStop = LargeIntToCurrency(liStop)
    cuFreq = LargeIntToCurrency(liFrequency)
    ' elapsed time
    v = CDbl(cuStop - cuStart) / CDbl(cuFreq)
    Select Case ResultUnit
        Case CounterUnit.Second
            ReturnValue = v
        Case CounterUnit.Millisecond
            ReturnValue = v * 1000.0#
        Case CounterUnit.microsecond
            ReturnValue = v * 1000000.0#
        Case CounterUnit.nanosecond
            ReturnValue = v * 1000000000.0#
    End Select
    Return ReturnValue
End Function
Private Function LargeIntToCurrency(liInput As LARGE_INTEGER) As Currency
    CopyMemory(LargeIntToCurrency, liInput, Strings.Len(liInput))
    LargeIntToCurrency = LargeIntToCurrency * 10000
End Function
Run Code Online (Sandbox Code Playgroud)

“货币”在 VB.Net 中给出了这样的错误。是否有任何缺失的库,它必须是哪个库?

在此处输入图片说明

jmc*_*ney 7

表示货币的数据应作为Decimal值存储在 VB.NET 中。它不容易受到舍入错误的影响Double