9

これは私のコードで、小数点以下 2 桁の出力が必要txtA.TextですtxtB.Text

Public Class Form1
    Private Sub btncalc_Click(ByVal sender As System.Object,
                              ByVal e As System.EventArgs) Handles btncalc.Click
      txtA.Text = Val(txtD.Text) / Val(txtC.Text) * Val(txtF.Text) / Val(txtE.Text)
      txtB.Text = Val(txtA.Text) * 1000 / Val(txtG.Text)
    End Sub
End Class
4

6 に答える 6

14

書式設定オプションについては、これを参照してください

Dim v1 as Double = Val(txtD.Text) / Val(txtC.Text) *
                   Val(txtF.Text) / Val(txtE.Text)
txtA.text = v1.ToString("N2");
于 2013-05-16T08:54:49.773 に答える
3

私を怠け者と呼んでください。

 lblTellBMI.Text = "Your BMI is: " & Math.Round(sngBMI, 2)

つまり、ラベルlblTellBMIはYour BMI is:を表示し、 Math.Roundメソッドを使用して、 Single型変数 ( sngBMI )の値を小数点以下 2 桁として追加します。

Math.Roundメソッドは、値を最も近い整数または指定された小数桁数に丸めます。

ソース: https://msdn.microsoft.com/en-us/library/system.math.round(v=vs.110).aspx

于 2016-05-11T20:44:53.327 に答える
1

今日この問題に遭遇したので、そのための関数を書きました。私の特定のケースでは、すべての値が少なくとも 0 (したがって「LT0」という名前) であり、小数点以下 2 桁に丸められていることを確認する必要がありました。

        Private Function LT0(ByVal Input As Decimal, Optional ByVal Precision As Int16 = 2) As Decimal

            ' returns 0 for all values less than 0, the decimal rounded to (Precision) decimal places otherwise.
            If Input < 0 Then Input = 0
            if Precision < 0 then Precision = 0 ' just in case someone does something stupid.
            Return Decimal.Round(Input, Precision) ' this is the line everyone's probably looking for.

        End Function
于 2016-12-07T02:04:41.450 に答える
0

小数点以下 2 桁の 10 進数を特定の形式で出力したい場合は、ローカルに関係なく、次のようなものを使用します。

dim d as double = 1.23456789
dim s as string = d.Tostring("0.##", New System.Globalization.CultureInfo("en-US"))
于 2019-03-22T09:46:32.957 に答える