我有一個從計算中獲取值的文本框。我試圖讓它顯示逗號當值超過999.99我試過Convert.ToDecimal和Convert.ToString,但它似乎並沒有工作。這是填充字段的代碼。任何幫助將不勝感激。在文本框中顯示逗號VB.net
IskMade1.Text = Convert.ToDecimal(IPU1.Text) * Convert.ToDecimal(Units1.Text)
IskMade1字段正確顯示小數,但不會將任何逗號添加到數字。
我有一個從計算中獲取值的文本框。我試圖讓它顯示逗號當值超過999.99我試過Convert.ToDecimal和Convert.ToString,但它似乎並沒有工作。這是填充字段的代碼。任何幫助將不勝感激。在文本框中顯示逗號VB.net
IskMade1.Text = Convert.ToDecimal(IPU1.Text) * Convert.ToDecimal(Units1.Text)
IskMade1字段正確顯示小數,但不會將任何逗號添加到數字。
只要你有在其中存儲的十進制值,你可以按以下格式設置文本框的文本一些MyDecimalVariable
變量:
Dim MyDecimalVariable As Decimal = 1234.56
IskMade1.Text = MyDecimalVariable.ToString("#,##0.00")
或者你可以有:
Dim MyDecimalVariable As Decimal = 1234.56
IskMade1.Text = MyDecimalVariable.ToString("N", CultureInfo.InvariantCulture)
在這種情況下,你會需要導入System.Globalization
命名空間。
它的工作!非常感謝!!! –
如果IPU1和Units1是文本框,您應該在轉換之前檢查Text屬性是否可以轉換爲數字。 Decimal.TryParse可以爲你做到這一點。然後使用ToString(「N」)將逗號分隔符轉換爲字符串,如果要顯示兩位小數,則轉換爲ToString(「N2」)。
Dim ipuNum, units as Decimal
If Decimal.TryParse(IPU1.Text, ipuNum) AndAlso Decimal.TryParse(Units1.Text) Then
IskMade1.Text = (ipuNum * units).ToString("N")
Else
'Error processing goes here
End If
你做錯誤處理是由你決定的。您可以使用MessageBox.Show
來顯示錯誤消息和(如果這是一個按鈕單擊處理程序)Exit Sub
可能的重複[格式化數字以顯示逗號當大於一千](http://stackoverflow.com/questions/19999560/format-a-number-to-display-a-comma-when-thousand-thousand) – OneFineDay