货币格式号VB.NET

问题描述 投票:4回答:8

我试图转换一个数学结果的钱格式的例子。

Dim num1 As Integer = 2000
Dim num2 As Integer = 500

msgbox(cDbl(num1 + num2))

它只返回2500,我需要返回我的2500. 00如果有人有任何想法,我将是非常有帮助的感谢。

vb.net double money-format
8个回答
6
投票

你的 MsgBox 显示你的值,但它没有格式化它,因为你没有要求它这样做。

如果你再进一步 将结果格式化为一个字符串,你会得到你想要的格式,如

Dim num1 As Double = 2000
Dim num2 As Double = 500
Dim sum As Double = num1 + num2

MsgBox(sum.ToString("0.00")) ' Adjust format string to suit

7
投票

首先,你应该使用 Decimal 而不是 Double 在处理货币值时。Double 有一些四舍五入的问题。

其次,您可以使用 字符串格式化:

Dim num1 As Integer = 2000
Dim num2 As Integer = 500
Diml value As Decimal = CDec(num1 + num2)
Dim formattedValue As String = String.Format("{0:n}", value)

msgbox(formattedValue)

3
投票

标准数字格式字符串

是一个很好的资源,用于一般的数字格式,最重要的是货币(这要考虑到文化差异)。

"C "或 "c "代表货币

  • 支持。所有数字类型。
  • 精确度指定器。小数点后的数字。
  • 默认的精度指定符。由System.Globalization.NumberFormatInfo定义。

更多信息。货币("C")格式指定器。

  • 123.456 ("C", en-US) -> $123.46
  • 123.456 ("C", fr-FR) -> 123,46 €.
  • 123.456 ("C", ja-JP) -> ¥123
  • -123.456 ("C3", en-US) -> (123.456美元)
  • -123.456 ("C3", fr-FR) -> -123,456 €.
  • -123.456 ("C3", ja-JP) -> -¥123.456.

1
投票

如果你希望格式是货币,这两种都可以。

    Dim num1 As Integer = 2000
    Dim num2 As Integer = 500
    MsgBox(String.Format("{0:C2}", num1 + num2))

或者...

    Dim num1 As Integer = 2000
    Dim num2 As Integer = 500
    Dim sum As Integer = num1 + num2

    MsgBox(sum.ToString("C2"))

0
投票

格式化货币为双倍

value = 1500,20 TL

ctype(value, double)

return 1500,20

双倍的格式化货币

样品

value = 1500,1995

formatcurrency(value,2)

return = 1500,20 TL moneysembol (TL , $ ,vs..)

0
投票
Dim num1 As Decimal = 20
Dim num2 As Decimal = 34
Dim ans As Decimal

ans = num1 + num2
MsgBox(ans.ToString("c"))

-1
投票

看看String.Format文档,你会发现你需要的东西。


-1
投票

通常你不会使用 Integer 作为货币值的数据类型。使用 Double 来代替。

我相信有很多方法可以将输出字符串格式化为货币值。

如果我知道的方法之一已经由Rowland Shaw解释过了。所以我就跳过另一种。它是内置的函数,叫做 FormatCurrency. 它将以货币值的形式输出该字符串 加上 用您系统中定义的货币符号。

Dim num1 As Double = 2000
Dim num2 As Double = 500
Dim ans As Double = num1 + num2

MessageBox.Show(FormatCurrency(ans))

更多关于 FormatCurrency,看 此处.

© www.soinside.com 2019 - 2024. All rights reserved.