简体   繁体   English

C#双舍入

[英]C# Double Rounding

I'm currently working on a program and im converting my java code into c# . 我目前正在开发一个程序,并将我的java代码转换为c#。 but i'm having some trouble. 但我遇到了麻烦。

public double round(double value){
        BigDecimal b = new BigDecimal(value);
        b = b.setScale(2,BigDecimal.ROUND_UP);
        return (b.doubleValue());
    }

i wrote this converting code but i cant convert it to c#.BigDecimal type causes some problem and im totally new to .Net.Definitely need some help. 我编写了此转换代码,但无法将其转换为c#.BigDecimal类型,这会导致一些问题,并且对.Net来说是全新的。绝对需要一些帮助。

Edit : Ok buds i got it , sorry for the dumb question. 编辑:好吧,我明白了,抱歉这个愚蠢的问题。

Here is a C# method that you can use instead: 这是您可以代替使用的C#方法:

public double round(double value){
    return Math.Round(value, 2, MidpointRounding.AwayFromZero);   
}

.Net's MidpointRounding.AwayFromZero is the equivalent of java's ROUND_UP . .Net的MidpointRounding.AwayFromZero等效于Java的ROUND_UP

Couldn't you just do this to round to 2 fractional digits? 您不能只将其舍入到2个小数位吗?

        double foo = 3.143;
        double fooRounded = Math.Round(foo, 2); 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM