Проверьте, чтобы описания переменных теперь выглядели так:
float RoublesNum, RateValue;
float Result;
Если что-то сделано неправильно, например не поставлен пробел после float, вернитесь к предыдущему варианту текста программы с помощью комбинации клавиш Ctrl+Z (это так называемая команда Undo — «Откат», типичная для большинства приложений Windows) и попробуйте исправить текст заново.
Однако исправлению надо подвергнуть не только определения переменных, но и вызовы стандартных функций lntToStr() и StrTolnt(), которые предназначены для операций с целыми числами. Если такие изменения не внести, компилятор выдаст сообщение о том, что мы попытались осуществить недопустимое преобразование типов — из дробного в целое.
— А почему компилятор так строг? То он не замечает странных преобразований чисел, а то не позволяет сделать из дробного числа 1.0'целое число 1.
— Это нужно как раз затем, чтобы программисты внимательно следили за типами данных в своей программе и не допускали «самопроизвольного» неправильного преобразования значений. Тем более, что 1.0 переделать в единицу несложно, а вот если 3,14 округлить до целого числа 3 и ничего при этом программисту не сообщить, то скорее всего программа будет работать неправильно.
Если вы хотите преобразовать один тип в другой (это называется приведением типов), надо сделать это явно, указав тем самым компилятору, что вы понимаете, что творите, и тогда он успокоится.
Для преобразования одного типа в другой есть два пути. Первый — использовать стандартные функции C++Builder, как это было, например, в случае перевода числа в строку с помощью функции lntTo8tr(). Второй путь — указать в круглых скобках новый тип перед переменной или выражением, результатом которого будет значение определенного типа, например:
int m;
m = (int)3.14;
При этом никаких ошибок и предупреждений не появится, а переменная m получит значение 3.
72