Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

286
Vistas
¿Cuál es el decimal mínimo que se puede convertir a flotante y luego volver a decimal?
var t = (decimal)((float)decimal.MinValue)

falla con error CS0031: Constant value '-7.922816E+28' cannot be converted to a 'decimal' , pero ¿por qué?

decimal. decimal.MinValue es -79228162514264337593543950335m . Se convierte con éxito en float como -79228160000000000000000000000f que es mayor que decimal.MinValue :

 (float)decimal.MinValue > decimal.MinValue

¿Por qué este valor no se puede convertir? Entiendo que es algo sobre el significado y el exponente, pero ¿qué sucede exactamente? ¿Y cuál es el decimal mínimo que se puede convertir en flotante y luego volver a decimal en C#?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

No está imprimiendo la precisión completa del flotante, por lo que no puede ver el valor que está causando que falle.

Si cambia el código de la siguiente manera:

 var decMin = (float)decimal.MinValue; Console.WriteLine(decMin.ToString("R")); // "-7.9228163E+28" // Next line throws System.OverflowException: Value was either too large or too small for a Decimal. var dec = (decimal)decMin;

El valor de decMin se muestra como -7.9228163E+28 . Para hacer esto más fácil de comparar, reescribámoslo sin el exponente y decimal.MinValue con decimal.MinValue :

 decMin = -79_228_163_000_000_000_000_000_000_000 decimal.MinValue = -79_228_162_514_264_337_593_543_950_335

Ahora puede ver que decMin es MÁS NEGATIVO que decimal.MinValue , lo que explica por qué no se convierte.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda