Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Cast e atribuir valor float com f no final

Tem diferencia notável no meu programa entre declarar e inicializar uma variável float com f no final de substituir o f no final de um cast para float.

Por exemplo: float preco = 15.0f;

float preco2 = (float)15.0;

1 resposta
solução!

Quando você define a constante decimal com um 'F' no final, você esta dizendo que aquele tipo é do tipo float, do contrário, ele será inicialmente do tipo double. Como que o double é muito maior do que um float, converter do maior para o menor pode acabar resultado em perda de valores.

Ou seja, no primeiro caso, ele será reconhecido como um float e não há nenhuma conversão. (Normal)

No segundo, inicialmente ele será um double, e você estará convertendo (através de um casting) para outro tipo, que no caso é um float. Por isso pode estar tendo uma certa perda/diferença.

Vale ressaltar que, quanto mais o tipo decimal aguentar em valores, mais precisão decimal ele terá.