货币格式编号VB.NET

Joh*_*ñez 4 vb.net double money-format

我正在尝试转换货币格式示例的数学结果:

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

msgbox(cDbl(num1 + num2))
Run Code Online (Sandbox Code Playgroud)

它只返回2500,如果有人知道我将如何非常有帮助,我需要返回我的2,500.00谢谢.

Den*_*aub 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)
Run Code Online (Sandbox Code Playgroud)


Row*_*haw 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
Run Code Online (Sandbox Code Playgroud)


Gen*_*ent 5

标准数字格式字符串

\n\n

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

\n\n

“C”或“c”代表货币

\n\n
    \n
  • 支持者:所有数字类型。
  • \n
  • 精度说明符:小数位数。
  • \n
  • 默认精度说明符:由 System.Globalization.NumberFormatInfo 定义。
  • \n
\n\n

更多信息:货币(“C”)格式说明符。

\n\n
    \n
  • 123.456(“C”,en-US)-> 123.46 美元
  • \n
  • 123.456 ("C", fr-FR) -> 123,46 \xe2\x82\xac
  • \n
  • 123.456(“C”,ja-JP)->\xc2\xa5123
  • \n
  • -123.456(“C3”,en-US)->(123.456 美元)
  • \n
  • -123.456 ("C3", fr-FR) -> -123,456 \xe2\x82\xac
  • \n
  • -123.456(“C3”,ja-JP)-> -\xc2\xa5123.456
  • \n
\n