在文本框VB.net

时间:2015-04-23 03:20:14

标签: vb.net

我有一个文本框,可以从计算中获取值。当值超过999.99时,我试图让它显示逗号我已经尝试过Convert.ToDecimal和Convert.ToString,但它似乎不起作用。这是填充该字段的代码。任何帮助将不胜感激。

IskMade1.Text = Convert.ToDecimal(IPU1.Text) * Convert.ToDecimal(Units1.Text)

IskMade1字段正确显示小数,但不能在数字中添加任何逗号。

2 个答案:

答案 0 :(得分:3)

如果您有一些MyDecimalVariable变量存储小数值,您可以格式化TextBox文本,如下所示:

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命名空间。

答案 1 :(得分:0)

如果IPU1和Units1是TextBoxes,则应在执行转换之前检查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