我有一个文本框,可以从计算中获取值。当值超过999.99时,我试图让它显示逗号我已经尝试过Convert.ToDecimal和Convert.ToString,但它似乎不起作用。这是填充该字段的代码。任何帮助将不胜感激。
IskMade1.Text = Convert.ToDecimal(IPU1.Text) * Convert.ToDecimal(Units1.Text)
IskMade1字段正确显示小数,但不能在数字中添加任何逗号。
答案 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