Главная страница
    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.46 MB
Время: 0.008 c
1-36678
iWorm
2003-12-03 02:42
2003.12.12
Задержка


7-36851
Leha
2003-10-08 23:11
2003.12.12
Как получить список импортируемых DLL-кой функций?


4-36897
Max_one
2003-10-13 17:27
2003.12.12
mciSendCommand что неправильно?


1-36622
oens
2003-12-01 13:08
2003.12.12
button


3-36531
IGray
2003-11-20 23:31
2003.12.12
Упредить





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский