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;
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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;
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á.