2012-06-21 53 views
0

我有一个datagridview列“总计”,其中我正在进行各个项目的汇率的总和。有时我得到像30.19卢比或100.59卢比,我想使30.19 30.50 & 100.59到101.S.8任何人PLZ帮助我..?C#:如何将浮点值整理为最接近的浮点值?

我曾尝试

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

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

,但其没有工作..提前

感谢..

+3

可能重复[我怎样四舍五入到最接近的0.5?(http://stackoverflow.com/questions/1329426/how-do-i-round-to-the-nearest-0 -5) – James

+0

你到目前为止做了什么? –

回答

1

你想Math.Round(Somefloat + 0.5,2)将完成这项工作。

0

如果你想四舍五入到最接近的整数,如100.59至101,我会告诉你只要将你的float变量设置为一个int。但是,为什么你想要达到30.50?四舍五入的具体规则是什么?

+0

如果m得到30.19,在印度0.19 paise没有任何意义。所以我想要凑成0.50 paise。我告诉我有可能性.. – Harshali

2

通常使用货币,在没有专用货币类型的情况下,您使用存在的最小单位货币,货币或美分或您有什么。

此外,不要使用浮动金钱,或舍入错误会让你。 这些民间建议小数。

What is the best data type to use for money in c#?

大多数国家都对如何舍分数数额货币的,有时是由法律规定的正式标准,但它们通常是银行家四舍五入的一些变种。如果幸运的话,它会是Decimal.Round的默认行为。

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