减少标签中的十进制值

时间:2014-03-20 07:18:37

标签: vb.net label decimal

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

例如,

textbox1 = 22  
textbox2 =  7  
label1 = textbox2/textbox1

我希望label1转向31.8,但总是转向31.8181811818181818881

我已经尝试过了:

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

4 个答案:

答案 0 :(得分:2)

评论到您的评论:

@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.

我希望它完美无缺!

答案 1 :(得分:0)

使用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 & " %" 

答案 2 :(得分:0)

只需使用substringlastindexof

的组合
label1 = textbox2/textbox1

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

答案 3 :(得分:0)

你们都认为这比现在更复杂。 Decimal.ToString有一个超载,您可以传递standard or custom numeric format string

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

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