Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.12.12;
Скачать: CL | DM;

Вниз

Как увеличить переменную типа 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;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.008 c
3-36517
dimm
2003-11-21 20:15
2003.12.12
Уважаемые мастера помогите


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


11-36587
mike.dld
2003-03-27 02:34
2003.12.12
Глюк


14-36836
Igor_thief
2003-11-14 16:30
2003.12.12
Курсовой


1-36649
Sacred
2003-12-01 00:51
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский