减少标签中的十进制值



我有一个标签显示了太多的十进制值。

例如

textbox1 = 22  
textbox2 =  7  
label1 = textbox2/textbox1

我想让label1转到31.8,但它总是转到31.81818118181818881

我已经试过了:

    Dim label1 As String
    label1 = (CInt(Me.textbox2.Text) / CInt(Me.textbox1.Text)) * 100
    Format(label1, "0.00")
    Form3.label1.Text = label1 + " %" 

对你的评论:

@KashishArora yes

我会用一种非常非常简单的方式来做!

我们将首先简单地将Textbox1与Textbox2分开,并将值存储在标签中,然后将整数a声明为label1.text(不需要在变量中这样做,您可以直接这样做)。然后我们将使用Math.Round控件并指定我们想要的小数数(1或2)。

最后,将a的值存储回Label1

代码和示例

Label1.Text = Val(TextBox2.Text) / Val(TextBox1.Text)
Dim a As Double = Label1.Text
a = Math.Round(a, 2) '2 is number of decimal places
Label1.Text = a
'All the things you want to do with this.

我希望它工作完美!

使用String.Format()

Dim label1 As String
label1 = (CInt(Me.textbox2.Text) / CInt(Me.textbox1.Text)) * 100
label1 = String.Format("{0:0.0}", label1)
Form3.label1.Text = label1 & " %" 

使用substringlastindexof的组合

label1 = textbox2/textbox1
Dim labelText As String = label1.Text
labelText = labelText.Substring(0, labelText.LastIndexOf(".") +2)  + "%"

你们把事情弄得更复杂了。小数。ToString有一个重载,你可以传递一个标准的或自定义的数字格式字符串。

在您的情况下,应该使用F{n}格式说明符,其中{n}是指示所需小数位数的精度说明符。

label1.Text = (Decimal.Parse(textBox1.Text) / Decimal.Parse(textbox2.Text)).ToString("F2")

相关内容

  • 没有找到相关文章

最新更新