4

datagridview のすべての行の 2 つの乗算された列の要約を計算するこのコードを取得しました。

private void vypocti_odvody(int price, int vat, int tot_rows2)
    {
        try
        {
            double outVal = 0;
            foreach (DataGridViewRow row in dataGridView1.Rows)

            {
                outVal = outVal + (Convert.ToDouble(row.Cells[price].Value)/100) * Convert.ToDouble(row.Cells[vat].Value) + (Convert.ToDouble(row.Cells[price].Value));
            }

         //   s_ub_celk.Text = (((a / 100) * b) + a).ToString();
            Convert.ToDecimal ( result.Text = outVal.ToString()) ;
        }
        catch (Exception ex)
        {
            MessageBox.Show("Chybové hlášení K3 " + ex.Message.ToString());
        }


    }

小数点以下の桁数を改善するにはどうすればよいですか? 結果は次のようになります: 123,5484250 たとえば、123,55 のように、小数点以下 2 桁のみを表示したいと考えています。

私の貧弱な英語で申し訳ありませんが、「小数点以下の位置」が私が本当に意味する言葉を表していることを願っています. 理解を深めるために例を作成しました。

皆さん、お時間、コメント、回答をありがとうございます。

4

4 に答える 4

4

使用しているのでDataGridView、セルのフォーマットを次のように設定できます

DataGridView1.Columns[required column index or name].DefaultCellStyle.Format = "N2"
于 2013-07-31T09:00:11.223 に答える
2

使用できますMath.Round(value, digits)

値は結果であり、数字は必要な小数の数です

于 2013-07-31T08:56:46.163 に答える
2

書式文字列を使用してテキストを変換します。

result.Text = outVal.ToString("0.00");

数値をフォーマットするその他の方法については、このリストを参照してください。使用することもできます

result.Text = string.Format("{0:0.00}", outVal);

これは上記のコードとまったく同じです。

于 2013-07-31T08:55:48.043 に答える
1

System.Globalization.NumberFormatInfo を使用して設定を制御します。

System.Globalization.NumberFormatInfo numberFormatInfo = new System.Globalization.NumberFormatInfo();           
numberFormatInfo.NumberDecimalDigits = 2;

decimal decimalexample = 123.5484250M;

string decimalasstring = decimalexample.ToString(numberFormatInfo);

よろしく。

于 2013-07-31T09:06:21.857 に答える