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;
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á.