Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 如何将双值舍入?_Vb.net - Fatal编程技术网

Vb.net 如何将双值舍入?

Vb.net 如何将双值舍入?,vb.net,Vb.net,我的问题是,当我按下bigmacadd按钮和减号按钮时,bigmac可以正常工作。但是当我按下mcdouble add按钮时,我会得到一堆数字。我怎样才能使它显示为小数点后2.50位 Public Class Form1 Const bigmac As Decimal = 4D Const mcdouble As Decimal = 2.25 Dim tax As Decimal Dim price As Decimal Dim quantity As I

我的问题是,当我按下bigmacadd按钮和减号按钮时,bigmac可以正常工作。但是当我按下mcdouble add按钮时,我会得到一堆数字。我怎样才能使它显示为小数点后2.50位

Public Class Form1
    Const bigmac As Decimal = 4D
    Const mcdouble As Decimal = 2.25
    Dim tax As Decimal
    Dim price As Decimal
    Dim quantity As Integer
    Dim finaltotal As Decimal

    Private Sub Btnbigmacadd_Click(sender As Object, e As EventArgs) Handles Btnbigmacadd.Click
        quantity = quantity + 1
        txtquan.Text = quantity

        price += bigmac
        txtprice.Text = price

        tax = price * 0.15
        txttax.Text = tax

        finaltotal = price + tax
        txtfinaltotal.Text = finaltotal
    End Sub

    Private Sub btnbigmacminus_Click(sender As Object, e As EventArgs) Handles btnbigmacminus.Click
        quantity = quantity - 1
        txtquan.Text = quantity

        price -= bigmac
        txtprice.Text = price

        tax = price * 0.15
        txttax.Text = tax

        finaltotal = price + tax
        txtfinaltotal.Text = finaltotal
    End Sub

    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        quantity = quantity + 1
        txtquan.Text = quantity

        price += mcdouble
        txtprice.Text = price

        tax = price * 0.15
        txttax.Text = tax

        finaltotal = price + tax
        txtfinaltotal.Text = finaltotal
     End Sub
End Class

您可以使用
Math.round
方法将
tax
四舍五入到小数点后两位

tax = Math.Round(price * 0.15D, 2)
txttax.Text = tax.ToString()

finaltotal = price + tax
txtfinaltotal.Text = finaltotal.ToString()
如果要在
税务
财务总额
中保留额外的小数位,但在文本框中仅显示两位小数位,可以使用
ToString(“N2”)
方法

tax = price * 0.15D
txttax.Text = tax.ToString("N2")

finaltotal = price + tax
txtfinaltotal.Text = finaltotal.ToString("N2")

你需要更具体一些,需要自己努力解决问题。这个节目在做什么?您目前获得的输出“一组数字”是什么?你试过做什么?到目前为止你知道些什么?写下一些代码,说你想要2.50,因为输出不是实现这一点的方法。我猜他得到的总数只有2个小数位,比如2.50293。如果是这样,请使用
txtfinaltotal.Text=Format(finaltotal,“#.00”)
0的平均值,将其四舍五入到小数点后两位。另外:在处理货币时,切勿使用
Double
。相反,在处理金钱时(以及其他精度上的微小误差会产生有意义的后果的事情),应该使用
Decimal
类型。这要慢几个数量级,但有时精度更重要,处理货币计算就是其中之一。