¿Cómo calificaría redondeando un decimal o flotante a un número entero? Por ejemplo ...Decimal/doble a entero: redondee hacia arriba (no solo hacia el más cercano)
0.0 => 0
0.1 => 1
1.1 => 2
1.7 => 2
2.1 => 3
Etc.
¿Cómo calificaría redondeando un decimal o flotante a un número entero? Por ejemplo ...Decimal/doble a entero: redondee hacia arriba (no solo hacia el más cercano)
0.0 => 0
0.1 => 1
1.1 => 2
1.7 => 2
2.1 => 3
Etc.
simple, utilice Math.Ceiling
:
var wholeNumber = (int)Math.Ceiling(fractionalNumber);
Algo como esto?
int myInt = (int)Math.Ceiling(myDecimal);
¿Por qué convertir a una cadena solo para analizar? Solo echalo. –
Eso es, por supuesto, mejor. Editado mi respuesta ahora. –
Math.Ceiling que no trabaja para mí, yo uso este código y este trabajo :)
int MyRoundedNumber= (int) MyDecimalNumber;
if (Convert.ToInt32(MyDecimalNumber.ToString().Split('.')[1]) != 0)
MyRoundedNumber++;
y si desea redondear cifras negativas al bajar por ejemplo redonda -1.1 -2 a su uso este
int MyRoundedNumber= (int) MyDecimalNumber;
if (Convert.ToInt32(MyDecimalNumber.ToString().Split('.')[1]) != 0)
if(MyRoundedNumber>=0)
MyRoundedNumber++;
else
MyRoundedNumber--;
var d = 1.5m;
var i = (int)Math.Ceiling(d);
Console.Write(i);
Esto solo * redondea * el número, no necesariamente lo redondea ** hacia arriba **. – radoh
Antes de decir que no funciona, usted tiene que comprobar que todos los valores en la operación son del tipo doble. Aquí hay un ejemplo en C#:
int speed= Convert.ToInt32(Math.Ceiling((double)distance/ (double)time));
¿Qué comportamiento desea para los números negativos? ¿-1.1 va a -1 (ir a más grande) o -2 (ir más lejos de cero)? –