【问题标题】:Assign a textbox value to a decimal variable VB将文本框值分配给十进制变量 VB
【发布时间】:2021-06-23 14:21:55
【问题描述】:

我目前在 VB 中工作,并且很难将文本框的输入转换为十进制变量。

这是我的点击尝试,结果是:

输入的字符串格式不正确

Dim totalSale As Decimal = Convert.ToDecimal(total_tb.Text)

理想情况下,我想将文本框的输入分配给 totalSale 并保留文本框中的任何十进制值。

【问题讨论】:

  • 您为什么希望能够将不代表数字的文本转换为数字?这不是问题。如果您的实际问题是验证输入,那么这就是您应该描述的问题。
  • 您当前的线程文化是否使用了正确的小数点? .,?
  • 我不是专家 jmcilhinney 对我如此赤裸裸。你建议我如何验证它?
  • 说实话,我对线程文化并不熟悉。我一直在使用“。”对于代码的其他方面,它很好。
  • total_tb.Text 中的字符串是什么?

标签: vb.net textbox decimal


【解决方案1】:

我建议您改用NumericUpDown 控件;它的值已经是一个小数,它克服了与尝试使用文本框捕获数字输入相关的不良用户输入的大部分缺点

【讨论】:

    【解决方案2】:

    如果您必须继续使用TextBox,这将验证用户输入并为您提供Decimal 类型的变量。 .TryParse 返回TrueFalse,如果True 用转换后的字符串值填充第二个参数totalSale

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim totalSale As Decimal
        If Not Decimal.TryParse(total_tb.Text, totalSale) Then
            MessageBox.Show("Please enter a valid number.")
            Return
        End If
        'Code that works with totalSale
    End Sub
    

    【讨论】:

      猜你喜欢
      • 2012-01-03
      • 2012-09-02
      • 1970-01-01
      • 2012-06-07
      • 1970-01-01
      • 1970-01-01
      • 2018-01-24
      • 1970-01-01
      • 2011-09-05
      相关资源
      最近更新 更多