Le problème, c'est que tu confonds l'ascii avec le binaire.
Si tu crée un fichier texte en écrivant 1800, c'est du texte et non du binaire. Tu ne peux pas écrire manuellement 1800 en binaire, il faut le faire en programmant.
ReadFloat() sert à lire une valeur binaire sur 4 octets.
ReadString() sert à lire une ligne de texte.