Round Up a double to int

后端 未结 4 2080
执笔经年
执笔经年 2020-12-20 11:01

I have a number (\"double\") from int/int (such as 10/3).

What\'s the best way to Approximation by Excess and convert it to int on C#?

相关标签:
4条回答
  • 2020-12-20 11:28

    By "Approximation by Excess", I assume you're trying to "round up" the number of type double. So, @Doug McClean's "ceiling" method works just fine.

    Here is a note: If you start with double x = 0.8; and you do the type conversion by (int)x; you get 0. Or, if you do (int)Math.Round(x); you get 1. If you start with double y = 0.4; and you do the type conversion by (int)y; you get 0. Or, if you do (int)Math.Round(y); you get 0.

    0 讨论(0)
  • 2020-12-20 11:30

    Consider 2.42 , you can say it's 242/100 btw you can simplify it to 121/50 .

    0 讨论(0)
  • 2020-12-20 11:33

    Are you asking about System.Math.Ceiling?

    Math.Ceiling(0.2) == 1
    Math.Ceiling(0.8) == 1
    Math.Ceiling(2.6) == 3
    Math.Ceiling(-1.4) == -1
    
    0 讨论(0)
  • 2020-12-20 11:47
    int scaled = (int)Math.Ceiling( (double) 10 / 3 ) ;
    
    0 讨论(0)
提交回复
热议问题