C#Double Rounding
问题描述:
我目前正在研究一个程序,并将我的java代码转换为c#。但我有一些麻烦。C#Double Rounding
public double round(double value){
BigDecimal b = new BigDecimal(value);
b = b.setScale(2,BigDecimal.ROUND_UP);
return (b.doubleValue());
}
我写了这个代码转换,但我不能将其转换为C#.BigDecimal类型产生一些问题和即时通讯全新到.Net.Definitely需要一些帮助。
编辑:好芽我知道了,对不起愚蠢的问题。
答
难道你不能这样做到四舍五入到2个小数位?
double foo = 3.143;
double fooRounded = Math.Round(foo, 2);
答
这里是一个C#方法,你可以改用:
public double round(double value){
return Math.Round(value, 2, MidpointRounding.AwayFromZero);
}
NET的MidpointRounding.AwayFromZero
是Java的ROUND_UP
的等价物。
看起来像.NET没有Java的BigDecimal的等效 - [堆栈溢出(http://*.com/questions/2863388/what-is-the-equivalent-for-java-类的BigDecimal-在-C)。它有小数,但这只有有限的精度。这对你想做什么来说足够了吗? – mgiuca 2011-01-26 23:51:01
其实我并不需要那种类型,所有我需要的是实现双重四舍五入的方式,我用bigdecimal – thecodekid 2011-01-26 23:55:17