货币格式编号VB.NET

时间:2012-02-13 17:54:11

标签: vb.net double money-format

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

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

msgbox(cDbl(num1 + num2))

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

8 个答案:

答案 0 :(得分:7)

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

其次,您可以使用string formatting

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)

答案 1 :(得分: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

答案 2 :(得分:3)

Standard Numeric Format String

是一般数字格式的绝佳资源,最重要的是货币(这考虑了文化差异)

货币

的“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

答案 3 :(得分: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"))

答案 4 :(得分:0)

formatcurrency加倍

value = 1500,20 TL

ctype(value, double)

return 1500,20

格式化货币加倍

<强>样品

value = 1500,1995

formatcurrency(value,2)

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

答案 5 :(得分:0)

Dim num1 As Decimal = 20
Dim num2 As Decimal = 34
Dim ans As Decimal

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

答案 6 :(得分:-1)

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

答案 7 :(得分:-1)

您通常不使用Integer作为货币值的数据类型。请改用Double

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

如果我所知道的方法已由Rowland Shaw解释过。所以我会跳到另一个。它是名为FormatCurrency的内置函数。它将使用系统中定义的货币符号将字符串输出为货币值 plus

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

MessageBox.Show(FormatCurrency(ans))

有关FormatCurrency的更多详情,请查看here