round midpointrounding c# math double int approximation

c# - midpointrounding - Redondear un doble a int.



math.round java (4)

¿Estás preguntando acerca de System.Math.Ceiling ?

Math.Ceiling(0.2) == 1 Math.Ceiling(0.8) == 1 Math.Ceiling(2.6) == 3 Math.Ceiling(-1.4) == -1

Tengo un número ("doble") de int / int (como 10/3).

¿Cuál es la mejor manera de aproximar por exceso y convertirlo en int en C #?


Considere 2.42, puede decir que es 242/100 btw puede simplificarlo a 121/50.


Por "Aproximación por exceso", asumo que está tratando de "redondear" el número del tipo doble. Por lo tanto, el método de "techo" de @Doug McClean funciona bien.

Aquí hay una nota: si comienzas con double x = 0.8; y haces la conversión de tipo por (int)x; obtienes 0 . O, si lo hace (int)Math.Round(x); obtienes 1 . Si comienzas con double y = 0.4; y haces la conversión de tipo por (int)y; obtienes 0 . O, si lo hace (int)Math.Round(y); obtienes 0 .


int scaled = (int)Math.Ceiling( (double) 10 / 3 ) ;