Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.12.12;
Скачать: [xml.tar.bz2];

Вниз

Как увеличить переменную типа double на 0.5 ?   Найти похожие ветки 

 
Ptr   (2003-12-02 14:08) [0]

Как увеличить переменную типа double на 0.5 ?


 
Юрий Зотов   (2003-12-02 14:12) [1]

Ни за что не поверите - прибавить к ней 0.5


 
Ptr   (2003-12-02 14:15) [2]

;))
Спасибо !
например:
var x: double
begin
x := 0;
x := x+0.5;
x = ? по вашему 0.5
а получается x = 0.500000000000000006


 
Тимохов   (2003-12-02 14:17) [3]

Ах вот Вы о чем.
Так устроены числа с плав. точкой, и если не ошибаюсь, то не только в delpi.

Пользуйтесь другим типов, например currency или еще чем.


 
Ptr   (2003-12-02 14:19) [4]

И на этом спасибо


 
_юзер_   (2003-12-02 14:21) [5]

используй вместо double extended и таких проблем не будет


 
Eugene1501   (2003-12-02 14:23) [6]

Или реши какая точность тебе нужна, сделай функцию округления до нужного кол-ва знаков после запятой и

x := 0;
x :=MyRound(x+0.5);
x = ?


 
Ptr   (2003-12-02 14:25) [7]

C extended не получается проще всего конечно работать с Currency
СПАСИБО ВСЕМ ЗА УЧАСТИЕ !!!!!!!!!!!!


 
tipman   (2003-12-02 14:25) [8]

Юрий Зотов © (02.12.03 14:12) [1]

Вау! Круто!!!!! Теперь я так всегда и буду делать!

Ptr (02.12.03 14:08)

А в чём ваще проблема?
Я както сам натыкался на такое:
var a,b:Double;
.....
a:=1
b:=b+a/2
то прибавится что-то около 0.5, но не 0.5, и решение тока округлять до нужной точности


 
Sergey_Masloff   (2003-12-02 14:35) [9]

tipman ©, Ptr
Ребята, ну про машинное представление чисел прочитать - ну 2 часа времени нужно. И на всю жизнь запомнить. Слабо?

Нам про это (представление вещественных чисел) рассказывали на информатике за полгода до того как к машине подпустить в первый раз. Проблем с пониманием ни у кого не возникло. А сейчас этот вопрос в разных вариациях на всех форумах по программированию по 3 раза в неделю поднимается.


 
k-man   (2003-12-02 15:03) [10]


> x = ? по вашему 0.5
> а получается x = 0.500000000000000006

Мимец просто :)
Ежели точность нужна юзай Currency например...
На каждом столбе написано :)


 
Тимохов   (2003-12-02 15:24) [11]

Можно еще использовать decimal (там точность до 10 знаков после запятой) - но это для фанатов, т.к. в дельфи его напрямую нет - надо юзать oleaut32.dll.


 
Юрий Зотов   (2003-12-02 15:38) [12]

> Ptr
> tipman
> и всем другим, не знающим, что такое вещественные числа и не умеющим с ними работать

Читать вот это до полного просветления сознания:
http://www.delphikingdom.ru/helloworld/reals.htm


 
Тимохов   (2003-12-02 17:22) [13]

Особая благодарность Юрию Зотову, за отличную ссылку!



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.12.12;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.007 c
1-36603
pavel_guzhanov
2003-12-03 08:45
2003.12.12
сравнение времени


14-36824
FoxPro
2003-11-19 13:34
2003.12.12
Вопрос по поводу FoxPro


3-36534
st_av
2003-11-21 01:58
2003.12.12
Описание EhLib


1-36598
Dragon
2003-12-01 18:41
2003.12.12
Нужно извлечь текущий путь приложения.


7-36881
eRat
2003-10-08 10:49
2003.12.12
блокирование рабочей станции под NT/XP





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский