我想錢格式示例的數學結果轉換:貨幣格式數VB.NET
Dim num1 As Integer = 2000
Dim num2 As Integer = 500
msgbox(cDbl(num1 + num2))
它只返回2500,我需要回到我2,500.00 如果任何人有任何想法如何我會非常有幫助的感謝。
我想錢格式示例的數學結果轉換:貨幣格式數VB.NET
Dim num1 As Integer = 2000
Dim num2 As Integer = 500
msgbox(cDbl(num1 + num2))
它只返回2500,我需要回到我2,500.00 如果任何人有任何想法如何我會非常有幫助的感謝。
您的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
看看的的String.Format的文檔,你會找到你需要的東西。
Standard Numeric Format String
爲一般編號很好的資源格式,最上面的一個爲貨幣(這考慮到培養的差異)
「C」 或 「c」 爲貨幣
更多信息:貨幣(「C」)格式說明符。
首先,你笑在處理貨幣價值時使用Decimal
而不是Double
。 Double
有一些舍入問題。
其次,你可以使用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)
你通常不使用Integer
的數據類型爲貨幣值。改爲使用Double
。
我確定有很多方法可以將輸出字符串格式化爲貨幣值。
一個如果我知道的方法已經由Rowland Shaw解釋。所以我會跳到另一個。它是內置函數,稱爲FormatCurrency
。它將輸出字符串作爲貨幣值加上與系統中定義的貨幣符號。在FormatCurrency
Dim num1 As Double = 2000
Dim num2 As Double = 500
Dim ans As Double = num1 + num2
MessageBox.Show(FormatCurrency(ans))
更多細節,看here。
downvote - double不是貨幣值的良好數據類型。可能會有舍入問題。應該使用Decimal類型。 – JSR 2012-02-13 21:38:47
如果你想要的格式是貨幣,任何一項都將工作:
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"))
formatcurrency翻番
value = 1500,20 TL
ctype(value, double)
return 1500,20
雙待formatcurrency
樣品
value = 1500,1995
formatcurrency(value,2)
return = 1500,20 TL moneysembol (TL , $ ,vs..)
如果您在答案中粘貼代碼,請使用{}標籤突出顯示語法。它會讓你的回答更容易閱讀。 – 2012-12-20 17:45:42
你的答案是正確的,但有一些方法來添加逗號? (2,500.00)謝謝:) – 2012-02-13 18:00:50
這就是爲什麼我說「調整格式字符串以適應」[MSDN文檔](http://msdn.microsoft.com/en-us/library/0c899ak8.aspx)是相當的,甚至允許專門用於[指定貨幣](http://msdn.microsoft.com/en-us/library/dwhawy9k.aspx) – 2012-02-13 18:05:50