No meu exercício o Double e o Decimal retornaram o mesmo número de casas decimais.
No meu exercício o Double e o Decimal retornaram o mesmo número de casas decimais.
Olá Fernando, tudo bem?
Fiz um teste utilizando os dois valores que estão sugerido no exercício:
Dim numerador As Decimal
Dim denominador As Decimal
numerador = 5.25
denominador = 3.45
Dim resultadoDecimal As Decimal
resultadoDecimal = numerador / denominador
System.Console.WriteLine("Usando Decimal: " & resultadoDecimal)
Dim resultadoDouble As Double
resultadoDouble = numerador / denominador
System.Console.WriteLine("Usando Double: " & resultadoDouble)
Esse teste foi feito numa aplicação console. O resultado foi o seguinte:
Isso ocorre porque essa divisão resulta em várias casas decimais e o tipo Decimal
suporta váras casas a mais que o tipo Double
.
Tente números como esses ou mesmo faça simplesmente a divisão de 10 por 3, que dará como resultado:
Usando Decimal: 3.3333333333333333333333333333
Usando Double: 3.33333333333333
Espero ter ajudado!
A lógica da explicação eu havia entendido, o problema era quando repetia o código exatamente como o dele, não havia diferenciação (o número de casas decimais ficava igual) entre "resultadoDecimal" e "resultadoDouble".
Depois de tentar várias vezes, alterei a declaração das variáveis "numerador" e "denominador" de Double para Decimal, aí ocorreu a diferenciação.
Mas continuava sem entender pq no computador dele ocorre diferente, depois revi o vídeo e percebi que ele tinha feito essa alteração e eu não tinha visto.