Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

291
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda