在文本框中显示逗号 VB.net

Posted

技术标签:

【中文标题】在文本框中显示逗号 VB.net【英文标题】:Display commas in textbox VB.net 【发布时间】:2015-04-23 03:20:13 【问题描述】:

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

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

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

【问题讨论】:

Format a number to display a comma when larger than a thousand的可能重复 【参考方案1】:

如果您有一些 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 命名空间。

【讨论】:

【参考方案2】:

如果 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

【讨论】:

以上是关于在文本框中显示逗号 VB.net的主要内容,如果未能解决你的问题,请参考以下文章

VB.net 转换为十进制(放置顺序)

vb.net datagridview 单击后指定列的内容放置到相同名称的文本框中

VB.NET操作SQL SERVER 2008数据库,想把文本框中输入的字符串转化为数字进行数据库的更新,却一直失败

如何将新行添加到数据表 vb.net

使用 user32.dll 从 vb.net 中的 javascript 警报框中获取文本

在文本框中插入新行VB.NET版C#和JavaScript