Другие языки программирования и технологии

Пожалусто помогите разобраться в тексте программы С++

Мне непонятныдве последние две строчки в следующем примере. void__fastcall TForml::ButtonlClick(TObject *Sender){float u; // напряжениеfloat r; // сопротивлениеfloat i; // ток// получить данные из полей ввода u = StrToFloat(Editl->Text); r = StrToFloat(Edit2->Text);// вычислить ток i = u/r;// вывести результат в поле метки Label4->Caption = "Ток : " +FloatToStrF(i,ffGeneral,7,2) + "А";}1) Поясните роль символов после знака = . Для чего в конце стоит плюс ?Label4->Caption = "Ток : " +2) Какую роль выполняют символы в скобках и после скобок?FloatToStrF(i,ffGeneral,7,2) + "А"; // какие другие цифры можно вставить вместо цифр 7 и 2 , и что при этом получиться? Такой же вопрос про символ "А"
Sasha Sasha
Sasha Sasha
160
+ - конкатенаця или суммирование строк
три строки суммируются, поэтому 2 плюса

Функция FloatToStrF конвертирует значение Value с плавающей запятой в визуализуемую строку, с большим управлением по форматированию через значения Format, Precision, и Digits.

Типом Value может быть любой из с типов с плавающей запятой.

Параметр Format определен TFloatFormat (SysUtils) типом:

ffCurrency eg : $2,345.60
ffExponent eg : 2.3456E+04
ffFixed eg : 2345.60
ffGeneral eg : 2345.6
ffNumber eg : 2,345.6

Возможные значения TFloatFormat:

ffGeneral - Определяет универсальное числовое форматирование, которое стремится сохранить результирующее значение как можно компактнее. Он удаляет конечные нули и десятичную точку, где возможно. Никакие разделители тысяч не показываются. Формат экспоненты используется, если мантисса является слишком большой для указанного значения Precision команды форматирования. В этом случае, значение Digits (0.. 4) определяет минимальное число показываемых цифр экспоненты. Символ десятичной точки определен переменной DecimalSeparator. ffExponent
Дима Чайкин
Дима Чайкин
63 514
Лучший ответ
Скорее всего этот оператор + перегружен для строкового типа. Скорее всего это просто склеивание строк.
Т. е. в итоге получается сообщение Ток: значение А
Чего тут сложного? Справку читай - элементу label4 свойству caption присваевается строка, к которой добавляется значение переменной i переведённое в строку. Зачёт ты завалил.
Павел Купцов
Павел Купцов
18 743
вообще-то вот так Label4->Caption = "Ток : " + FloatToStrF(i,ffGeneral,7,2) + "А";
в caption label4 записывается строка "Ток : " + FloatToStrF(i,ffGeneral,7,2) + "А"; , где кавычки " " означают строковый элемент в C++, а FloatToStrF(i,ffGeneral,7,2) - преобразование i в строку. при этом i является переменной с плавающей запятой и для нее задается вид вывода (на пример: 125 или 1,25E+2 - в таком смысле ). это надо в хэлпе смотреть по FloatToStrF.
Leonid Mironov
Leonid Mironov
355