在VB.NET中拆分'Decimal'

时间:2008-12-12 10:40:38

标签: vb.net split decimal

我确信这是一个非常简单的问题,但我是VB.NET的新手,所以我遇到了问题。

我有一个Decimal变量,我需要将它分成两个独立的变量,一个包含整数部分,另一个包含小数部分。

例如,对于x = 12.34,最终会得到y = 12和z = 0.34。

是否有一个很好的内置函数来执行此操作,还是我必须尝试手动完成它?

3 个答案:

答案 0 :(得分:20)

您可以使用Math.Truncate(decimal)然后从原始中减去该值。请注意,如果输入为十进制,则会为这两个部分提供负值(例如-1.5 => -1,-.5)

编辑:这是Eduardo代码的一个版本,它使用十进制:

Sub SplitDecimal(ByVal number As Decimal, ByRef wholePart As Decimal, _
                 ByRef fractionalPart As Decimal)
    wholePart = Math.Truncate(number)
    fractionalPart = number - wholePart
End Sub

答案 1 :(得分:4)

(正如Jon Skeet所说),请注意小数的整数部分可以大于整数,但是这个函数会让你理解。

    Sub SlipDecimal(ByVal Number As Decimal, ByRef IntegerPart As Integer, _
                    ByRef DecimalPart As Decimal)
        IntegerPart = Int(Number)
        DecimalPart = Number - IntegerPart
    End Sub

如果使用大数字,请使用Jon版本。

答案 2 :(得分:1)

简单地:

ListView
豫ICP备18024241号-1