![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 17.04.2009
Сообщений: 68
|
![]()
интересно, это только у меня так? или я не знаю какой-то великой тайны?
Вобщем вчера скачала хороший учебник по дельфи и там есть такое выражение sek := Trunc(t*100) mod 100; я никогда trunc не использовала и решила его помучать, но еще сильней запуталась. Скорей всего у меня глючный дельфи, или я сама, но почему 310???. procedure TForm1.Button1Click(Sender: TObject); var t:real; begin label1.Caption:=inttostr(trunc(3.11 *100)); //=311 t:=3.11; label2.Caption:=inttostr(trunc(t*10 0)) //=310??????? end; procedure TForm1.Button2Click(Sender: TObject); var t:real; begin label3.Caption:=inttostr(trunc(3.12 *100)); //=312 t:=3.12; label4.Caption:=inttostr(trunc(t*10 0)) //=312 end; procedure TForm1.Button3Click(Sender: TObject); var t:real; begin label5.Caption:=inttostr(trunc(4.11 *100)); //=411 t:=4.11; label6.Caption:=inttostr(trunc(t*10 0)); //=411 end; |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 28.07.2009
Сообщений: 1,510
|
![]()
Скорее всего проблема в точности real.
3.11*100=310.99999999999999996 А trunc просто обрубает всё, что после точки trunc(310.99999999999999996)=310 З.ы. эт моё предположение |
![]() |
![]() |
![]() |
#3 |
Участник клубаДжуниор
Регистрация: 23.08.2008
Сообщений: 1,616
|
![]()
В официально хелпе рекомендуется использовать extended, попробуйте...
pushl $0x18E3DF6B
call ICQ |
![]() |
![]() |
![]() |
#4 | |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
![]() Цитата:
Код:
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
|
![]() |
![]() |
![]() |
#5 |
Меркантильный кю
Участник клуба
Регистрация: 02.02.2008
Сообщений: 1,001
|
![]()
Проблема скорее всего действительно в том, что указал TwiX. Кстати заметьте, функция trunc принимает аргумент x типа extended, и вот с ним никаких проблем вроде бы не возникает
----------------------------------------------------------------------------- P.S. Синхронность на грани фантастики ![]()
Росли вроде умными, выросли дурнями... (c)А.Васильев
|
![]() |
![]() |
![]() |
#6 |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
![]()
Ну это значит из той же оперы, что:
Код:
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
![]() |
![]() |
![]() |
#7 | |
Пользователь
Регистрация: 17.04.2009
Сообщений: 68
|
![]() Цитата:
я тут на всякий случай решила выложить саму прогу, гляньте на досуге, может это моя ошибка (в смысле комповская)? упс, пока писала, то уже отметили про 411 Последний раз редактировалось marina15056; 03.10.2009 в 17:43. |
|
![]() |
![]() |
![]() |
#8 |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
![]()
Заменил Ваш real на extended - все нормально.
Вывод: Забудьте про real.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
![]() |
![]() |
![]() |
#9 |
Участник клуба
Регистрация: 28.07.2009
Сообщений: 1,510
|
![]() |
![]() |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 17.04.2009
Сообщений: 68
|
![]() |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Странный код в input | sniffer | HTML и CSS | 4 | 08.09.2009 21:40 |
Странный глюк Worda | valerij | Microsoft Office Word | 6 | 28.06.2009 08:11 |
[B]Странный макрос[/B] | mephist | Microsoft Office Word | 10 | 12.06.2009 11:46 |
Странный тип | Yuran | Общие вопросы Delphi | 4 | 10.06.2008 10:11 |
Странный, не стандартный файл | valerij | Microsoft Office Excel | 4 | 26.03.2008 12:24 |