0

入力されたそれぞれのアイテムのレートの合計を行っているdatagridview列「合計」があります.30.19ルピーまたは100.59ルピーのような追加を取得していることもあります.助けて..?

私が試してみました

                float val = float.Parse(value);
                total = val;

                ekunrakam = ekunrakam + total;
                Math.Round(ekunrakam + 0.5,2);

しかし、それは機能していません..

前もって感謝します..

4

3 に答える 3

2

通常、通貨では、専用の通貨タイプがない場合は、存在する最小の通貨単位、パイセまたはセントなどを使用します。

また、お金のためにフロートを使用しないでください。丸め誤差が発生します。これらの人々は Decimal を提案します。

c#でお金に使用するのに最適なデータ型は何ですか?

ほとんどの国では、通貨の端数を丸める方法について公式の基準があり、法律で義務付けられている場合もありますが、通常は銀行の丸めの変形です。運が良ければ、これが Decimal.Round のデフォルトの動作です。

http://msdn.microsoft.com/en-us/library/system.decimal.round%28v=vs.71%29.aspx

于 2012-06-21T10:09:28.853 に答える
1

あなたは Math.Round(Somefloat + 0.5,2) が仕事をすることを望んでいます。

于 2012-06-21T10:05:43.613 に答える
0

100.59から101のように、最も近い整数に丸めたい場合は、float変数をintに設定するように指示します。しかし、なぜ30.50に切り上げたいのですか?四捨五入の具体的なルールは何ですか?

于 2012-06-21T10:04:14.530 に答える