0

我有一个 datagridview 列“总计”,其中我正在计算输入的各个项目的费率总和。有时我会得到像 30.19 卢比或 100.59 卢比这样的加法,我想让 30.19 到 30.50 和 100.59 到 101。所以任何人都可以请帮我..?

我试过了

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

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

但它不工作..

提前致谢..

4

3 回答 3

2

通常使用货币,在您没有专用货币类型的情况下,您使用现有的最小货币单位,派萨或美分或您拥有的货币。

另外,不要使用浮点数来赚钱,否则舍入错误会让你受益。这些人建议使用十进制。

在 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,我会告诉您只需将浮点变量设置为 int。但是,为什么要四舍五入到 30.50?四舍五入的具体规则是什么?

于 2012-06-21T10:04:14.530 回答