在文本框 VB.Net 中格式化和计算数字
Posted
技术标签:
【中文标题】在文本框 VB.Net 中格式化和计算数字【英文标题】:Formatting and Computing Numbers in Textbox VB.Net 【发布时间】:2016-05-17 06:46:51 【问题描述】:大家好,下午好。 我希望有人能帮助我解决我的问题。
我有 3 个文本框,它们是:
GrandTotal.Text
VatAmount.Text
TotalAmount.Text
和 1 NumericUpdown1.Value
这是场景,随着系统的运行,有一个代码将触发并将一个数字值放入GrandTotal.Text
,然后,用户将按下NumericUpdown1.Value
。用户每按一次,就会触发一次计算,并在TotalAmount.Text
和VatAmount.Text
中显示一个数值
为了更具体,它就像一个包含增值税的计算表格。例如。
Grandtotal.text = 2000
如果我按下 NumericUpDown 到 + 1
VatAmount.Text
= 20 和 TotalAmount.Text
= 2020
我希望你明白我的意思
这是我的代码:
Private Sub NumericUpDown1_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NumericUpDown1.ValueChanged
VatAmount.Text = Val(Grandtotal.text) * NumericUpDown1.Value * 0.01
End Sub
Private Sub VatAmount_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles VatAmount.TextChanged
TotalAmount.Text = Val(VatAmount.Text) + Val(TextBox14.Text)
End Sub
现在我已经完成解释了,这是我的问题。
如何在文本框上加上逗号并计算它?我的教授问他想在要输入的数字上加逗号吗?无需从字面上输入逗号。当值大于 3 位时自动放入
如何将逗号放在文本框中并使用 NumericUpdown 进行计算?
TYSM
【问题讨论】:
ATextBox
仅显示 String
。如果您希望TextBox
显示带有逗号的String
,则在显示之前将逗号放入String
。如果您不知道如何连接多个子字符串,那么我建议您查看您的笔记或在线查看初学者教程,因为这是一个非常基本的概念。
你试过了吗? ***.com/a/19999643/6144259
这是我的代码 Sir ` Dim dblValue As Double = TextBox14.Text TextBox14.Text = dblValue.ToString("N", CultureInfo.InvariantCulture)` 我把它放在 Textchange 但是当我输入编号文本框不接受 0
你错过了toString()
的第一个参数中的0。它应该是“N0”,而不仅仅是“N”
【参考方案1】:
这大致就是你需要的:
Private Sub GrandTotal_TextChanged(sender As Object, e As EventArgs) Handles GrandTotal.TextChanged
Dim input As Double = Double.Parse(GrandTotal.Text)
Dim inputStringWithCommas As String = input.ToString("N0", CultureInfo.InvariantCulture)
GrandTotal.Text = inputStringWithCommas
Dim vat As Double = Double.Parse(GrandTotal.Text) * NumericUpDown1.Value * 0.01
VatAmount.Text = vat.ToString()
TotalAmount.Text = (Double.Parse(GrandTotal.Text) + vat).ToString("N0", CultureInfo.InvariantCulture)
End Sub
它与您拥有的类似,因此您应该能够使其也适用于 NumericUpDown 事件。
【讨论】:
TYSM 再次,先生,Ahmm 先生,我有一个小问题,我现在有将列中的数字相加的代码,但那里有一个小数点,例如 2,200.50,总数正在四舍五入。我怎样才能防止四舍五入。 如果 .50 不相关,那么有几种方法可以摆脱它。在将其放回文本之前,您可以转换为整数或对总数执行截断。或者,您可以在将文本分配给文本框的值之前对文本使用字符串拆分..以上是关于在文本框 VB.Net 中格式化和计算数字的主要内容,如果未能解决你的问题,请参考以下文章
VB.NET操作SQL SERVER 2008数据库,想把文本框中输入的字符串转化为数字进行数据库的更新,却一直失败