studio - ¿Por qué C#Math.Floor() devuelve Doble en lugar de Int
para que sirve math round en c# (2)
Debido a que la ENTRADA es doble, la SALIDA también debe ser doble, o una gran cantidad de salida potencial no encajaría en la variable de salida.
En términos matemáticos, el dominio y el rango de la función deben tener el mismo tamaño.
Posible duplicado:
¿Por qué Math.Floor (Double) devuelve un valor de tipo Double?
¿Por qué C # Math.Floor()
devuelve double
lugar de int
De los documentos de MSDN:
Devuelve el entero más grande menor o igual que el número de punto flotante de precisión doble especificado
Dice que devuelve un entero. Está bien devolver un double
, siempre puedo lanzarlo a un int
pero es bastante extraño, ¿no es así?
No realmente, considerando que un double
puede ser una magnitud mucho más alta que un int
. No querría desbordar un int con el gran valor que podría tener un doble.
Solo para mostrarte lo que quiero decir:
Double.MaxValue = 1.7976931348623157E + 308
Integer.MaxValue = 2,147,483,647
Por lo tanto, podría tener un doble de 3,000,000,000.50 y reducirlo al piso, lo que desbordaría el valor máximo de un int