Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.11.2009, 15:12   #11
MadReason
Ищу работу
Форумчанин
 
Аватар для MadReason
 
Регистрация: 16.02.2007
Сообщений: 269
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
s:string;
i:integer;
cel,ost:integer;
begin
s:='4D3C2B1A';
s:='$'+s;
i:=strtoint(s);
ListBox1.Items.Add(inttostr(i));
cel:=i div 120;
edit1.Text:=inttostr(cel);
//округление остатка до 2х чисел, поэтому *100
ost:=round((i/120-cel)*100);
edit2.Text:=inttostr(ost);
end;
Пишу на Delphi все что угодно, недорого, красиво, с комментариями
###icq 107335###
MadReason вне форума Ответить с цитированием
Старый 26.11.2009, 16:54   #12
fize
Форумчанин
 
Регистрация: 24.11.2009
Сообщений: 155
По умолчанию

MadReason я очень извеняюсь но надо число делить не на 120 а два раза на 60 т.к результат разный получается. например-
921300\60=15355
15355\60=255,91~
а при делении на 120-
921300\120=7677,5
fize вне форума Ответить с цитированием
Старый 26.11.2009, 17:17   #13
ОДИНОЧЕСТВО В СЕТИ
Любопытная Вредина
Участник клуба
 
Аватар для ОДИНОЧЕСТВО В СЕТИ
 
Регистрация: 19.06.2009
Сообщений: 1,285
По умолчанию

Цитата:
результат разный получается
дык 2 раза по 60 это 3600 получается
Дурь - это особая форма материи, которая не возникает ниоткуда и не исчезает никуда, а лишь переходит из одной головы в другую.
ОДИНОЧЕСТВО В СЕТИ вне форума Ответить с цитированием
Старый 26.11.2009, 17:19   #14
MadReason
Ищу работу
Форумчанин
 
Аватар для MadReason
 
Регистрация: 16.02.2007
Сообщений: 269
По умолчанию

ну тупанул)) согласен. ну подправьте. проблем то...
Пишу на Delphi все что угодно, недорого, красиво, с комментариями
###icq 107335###
MadReason вне форума Ответить с цитированием
Старый 26.11.2009, 17:51   #15
fize
Форумчанин
 
Регистрация: 24.11.2009
Сообщений: 155
По умолчанию

Цитата:
Сообщение от MadReason Посмотреть сообщение
ну тупанул)) согласен. ну подправьте. проблем то...
поправил-
PHP код:
begin
s
:=(ns);
s:='$'+s;
i:=strtoint(s);
ListBox1.Items.Add(inttostr(i));
cel:=i div 3600;
edit1.Text:=inttostr(cel);
ost:=round((i-cel*3600)/60);
edit2.Text:=floattostr(ost);
end
теперь нужно округление числа допустим 255,91666666666666666666666666667 до числа 255,55 т.е в едит1 число 255 так и остается а в едит2 записывается 55
все. вроде получилось. изменил строку ost:=round((i-cel*3600)/60); и выдает нужное округление

Последний раз редактировалось fize; 26.11.2009 в 18:19.
fize вне форума Ответить с цитированием
Старый 26.11.2009, 18:30   #16
fize
Форумчанин
 
Регистрация: 24.11.2009
Сообщений: 155
По умолчанию

неа. видимо не то что нужно. поправьте пожалуйста как правильно будет делать округление
понял как округлять надо. имеем 0.916666666666666666666666666667. это число надо умножить на 60 и разделить на 100
получаем 0.5500000000000000000000000000002. а отсюда уже выдрать 55 и поместить в едит2. помогите пожалуйста

Последний раз редактировалось fize; 26.11.2009 в 18:52.
fize вне форума Ответить с цитированием
Старый 26.11.2009, 19:28   #17
fize
Форумчанин
 
Регистрация: 24.11.2009
Сообщений: 155
По умолчанию

PHP код:
begin
s
:=(ns);
s:='$'+s;
i:=strtoint(s);
ListBox1.Items.Add(inttostr(i));
cel:=i div 3600;
edit1.Text:=inttostr(cel);
ost:=round((i-cel*3600)/36);
edit2.Text:=floattostr(ost);
end
насколько я понимаю этот код до момента-
PHP код:
ost:=round((i-cel*3600)/36);
edit2.Text:=floattostr(ost); 
работает как нужно т.е в едит1 выводит число десятичное. далее нужно дорабатывать этот кусок-
PHP код:
ost:=round((i-cel*3600)/36);
edit2.Text:=floattostr(ost); 
что бы тут ничего не округлялось а добавлялось в переменную как есть и производился мат расчет -
переменнная умножается на 60, делится на 100 и получается вторая переменная с суммой. далее эта сумма обрезается и выводится в едит2. помогите сам не осилю.
всем спасибо. все осилено. мне теперь обратный процесс нужен. тут продолжать или новую тему создать? логично что для ее названия ответ найден. значит создам новую.

Последний раз редактировалось fize; 26.11.2009 в 22:20.
fize вне форума Ответить с цитированием
Старый 26.11.2009, 22:35   #18
MadReason
Ищу работу
Форумчанин
 
Аватар для MadReason
 
Регистрация: 16.02.2007
Сообщений: 269
По умолчанию

с
0.9166
в
0.55

как то ты интересно округляешь....

должно быть так
ost:=round((i/3600-cel)*100);
edit2.Text:=inttostr(ost);

у тебя работа с минутами и секундами что ли?
Пишу на Delphi все что угодно, недорого, красиво, с комментариями
###icq 107335###
MadReason вне форума Ответить с цитированием
Старый 26.11.2009, 23:09   #19
fize
Форумчанин
 
Регистрация: 24.11.2009
Сообщений: 155
По умолчанию

Цитата:
Сообщение от MadReason Посмотреть сообщение
с
0.9166
в
0.55

как то ты интересно округляешь....

должно быть так
ost:=round((i/3600-cel)*100);
edit2.Text:=inttostr(ost);

у тебя работа с минутами и секундами что ли?
так ошибку выдает-
[Error] Unit1.pas(79): There is no overloaded version of 'IntToStr' that can be called with these arguments
работа с часами и минутами
fize вне форума Ответить с цитированием
Старый 27.11.2009, 00:19   #20
MadReason
Ищу работу
Форумчанин
 
Аватар для MadReason
 
Регистрация: 16.02.2007
Сообщений: 269
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
s:string;
i:integer;
cel,ost:longint;
begin
s:='4D3C2B1A';
s:='$'+s;
i:=strtoint(s);
ListBox1.Items.Add(inttostr(i));
cel:=i div 3600;
edit1.Text:=inttostr(cel);
ost:=round((i/3600-cel)*10000000);//кол-во нулей=кол-ву цифр после запятой
edit2.Text:=inttostr(ost);
end;
что-то ты не то напечатал у себя
Пишу на Delphi все что угодно, недорого, красиво, с комментариями
###icq 107335###
MadReason вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как поменять местами концевые и обычные сноски caute Microsoft Office Word 2 25.11.2009 18:29
как поменять местами слова в файле? r-tem Общие вопросы C/C++ 6 01.12.2008 22:17
Как поменять строки местами? ar. Microsoft Office Word 1 05.09.2008 11:36
Как поменять строки в текстовом файле местами _ares_ Помощь студентам 8 13.11.2007 02:14