Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Подсчитать вещественные числа в Listbox [D7, XP]


Страницы:   1 2

Rav4 ©   (2008-11-17 09:46:00) 

Доброе утро, мастера!

Подскажите пожалуйста, как подсчитать все вещественные числа в компоненте Listbox?
т.е. имеем такую структуру:


10.1
22.6
13.2
40.9


Результат: 86.8

Как это можно расчитать? Подскажите пожалуйста!


brother   (2008-11-19 04:51:00) [1]

> [15] Slym ©   (17.11.08 10:46)
> brother ©   (17.11.08 10:04) [4]
> поместать менями функции strtofloat и floattostr...

это было его домашнее задание на умение работать со справкой ;)


Anatoly Podgoretsky   (2008-11-17 12:07:00) [2]


> чтобы тут же преобразовать это число в ту же исходную строку
> (FloatToStr)

Это если повезет, в частном случае.


Anatoly Podgoretsky   (2008-11-17 12:05:00) [3]

> Rav4  (17.11.2008 10:40:12)  [12]

А ты приведи как у тебя неправильно, зачем же нам стараться писать, если у тебя такж как и у нас?


MsGuns   (2008-11-17 11:09:00) [4]

И еще.
"Прямое" приведение плавающего к строке может дать неудобоваримые результаты в виде длинной дробной части, поэтому в таких случаях вместо FloatToStr используют format


Сергей М.   (2008-11-17 11:01:00) [5]


> вещественное число преобразуюу в строку


Зачем ?
listbox1.items.strings[i] - это и так уже строка.


> строку преобразую в число


Получается что ты взял строку (listbox1.items.strings[i]) и преобразовал в число(StrToFloat), чтобы тут же преобразовать это число в ту же исходную строку (FloatToStr)

Теперь вникни в то что ты проделал ..

Тебе нужно имея список строк в цикле пройтись по нему, преобразовав каждую строку в число и суммировать это число с промежуточным числом-результатом. Перед входом в цикл этот промежут.результат д.б. обнулен, по завершению цикла это будет окончательный результат, котороый для визуализации следует преобразовать в строку.


MsGuns   (2008-11-17 11:00:00) [6]

Правильный код в [15], но я бы заменил StrToFloat(listbox.items[1]) на StrToFloatDef(Listbox.items[i],0) во избежание AV если в боксе есть строка с нечислом


Rav4   (2008-11-17 10:51:00) [7]

вещественное число преобразуюу в строку (строку преобразую в число(элементов списка)).
Прошу строго не судить. Я так рассуждаю... :/


Сергей М.   (2008-11-17 10:49:00) [8]


> Rav4   (17.11.08 10:47) [16]


А теперь опиши словами, что ты делаешь в этой строке..


Сергей М.   (2008-11-17 10:48:00) [9]


> Slym ©   (17.11.08 10:46) [15]


Медвежья услуга)


Rav4   (2008-11-17 10:47:00) [10]

floattostr(strtoloat(listbox1.items.strings[i])) ???


Slym   (2008-11-17 10:46:00) [11]

brother ©   (17.11.08 10:04) [4]
поместать менями функции strtofloat и floattostr...

procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
t: extended;
begin
t:=0;
for i:=0 to listbox1.Items.Count-1 do
  t:=t+ strtofloat(listbox1.Items.Strings[i]);
label1.Caption:= floattostr(t);
end;


Rav4   (2008-11-17 10:43:00) [12]

var t: real

тоже не прокатил


Сергей М.   (2008-11-17 10:43:00) [13]


> Rav4   (17.11.08 10:40) [12]


Ты [9] прочитал ?
Что тебе там не понятно ?


Rav4   (2008-11-17 10:40:00) [14]

Тогда как правильно?


Сергей М.   (2008-11-17 10:31:00) [15]


> There is no overloaded version of ''FloatTostr'' that can
> be called with these arguments  


Ф-ция FloatToStr не допускает аргумент, которые ты указал, см. [9]


Rav4   (2008-11-17 10:28:00) [16]

Извините.

Ошибка 35.
There is no overloaded version of ''FloatTostr'' that can be called with these arguments  


Сергей М.   (2008-11-17 10:26:00) [17]


> А мня с англицким туго


У тебя и с русским хоть караул кричи.

Подсказка №2:

Аргументом FloatToStr() должно быть значение вещ.типа, результат - строковое представление этого значения.

Аргументом StrToFloat() должно быть значение стр.типа, результат - значение вещ.типа.

Суммированию подлежат значения вещ.типа, визуализации - значение стр.типа.


Amoeba   (2008-11-17 10:25:00) [18]


> Rav4   (17.11.08 10:22) [7]
>
> Прошу прощения! Это были мои мысли в слух :)
>
> Компилятор ругается на код, якобы что-то не поддерживается.
>
> А мня с англицким туго :(
>

Так приведи здесь то, что говорит компилятор, переведем и объясним.


Rav4   (2008-11-17 10:22:00) [19]

Прошу прощения! Это были мои мысли в слух :)

Компилятор ругается на код, якобы что-то не поддерживается.
А мня с англицким туго :(


Сергей М.   (2008-11-17 10:18:00) [20]


> Что-то с оверлеями


С какими такими "оверлеями" ?

Не надо нести отсебячину, приводи точное описание отказа..


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо