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

Вниз

Проблемма: вместо 0,99999999999 пишет 1 - округляет. =((   Найти похожие ветки 

 
Hmm ©   (2004-12-11 23:36) [0]

Здрасвуйте.

Вот ведь какая проблемма возникла: тип вычисляемой переменной extended, т.е. по идее число, полученное в результате нехитрых расчетов, может содержать максимум 20 знаков после запятой (если я правильно понимаю сие: "число значащих разрядов"), но максимум, что вычисляется правильно это 0,9999999999 (10 девяток), число же 0,99999999999 (11 девяток) делфя округляет до единицы, что не приемлимо(!).

Помогите, пожалуста, разобраться, решить проблемму.


 
Anatoly Podgoretsky ©   (2004-12-11 23:45) [1]

Приведи пример


 
default ©   (2004-12-11 23:45) [2]

"0,9999999999 (10 девяток),"
а если бы было 20 девяток было бы лучше?
я так конкретно и не понял что нужно тебе(
на счёт значащих цифр
можно сказать что это так как ты говоришь но число должно быть нормализованно
например числа
0.00002
2
имеют оба по одной значащей цифре
остальную информацию можно задать ввиде порядка - 10^N
2=2*10^0
0.00002=2*10^-5


 
jack128 ©   (2004-12-12 00:21) [3]

Caption := FloatToStrF(0.99999999999999, ffFixed, 14, 14); // 14 девяток


 
jack128 ©   (2004-12-12 00:22) [4]

Кстати разряды бывают не только десятичные, но и двоичные..


 
Hmm ©   (2004-12-12 00:33) [5]

Хм... видимо какае-то фигня с настройкой делфы. Попробовал сохранить результаты вычислений в текстовый файл - все в порядке, т.е. округлений не производиться, все пишется как есть.

Просто при "пошаговой" компиляции, при наведении мыши на переменную, вместо точного значения (0,99999999999) выплывала единица.

ЗЫ: в любом случае, спасибо за внимание.


 
GanibalLector ©   (2004-12-12 00:48) [6]

>Кстати разряды бывают не только десятичные, но и двоичные..
Не понял.Подробнее плз.


 
Cobalt ©   (2004-12-12 00:59) [7]

2 GanibalLector ©   (12.12.04 00:48) [6]
Любое число, с которым работает компьютер при помощи сопроцессора (не будем принимать во внимание двоично-десятичные числа (BCD)) - они представлены в 2-ой счётной системе, т.е. у них округление не до десятичного к-либо разряда, а до двоичного.


 
GanibalLector ©   (2004-12-12 01:26) [8]

2 Cobalt
Смешно...Вообще-то я программирую на микроконтроллерах(на асме тоесть) и [7] знаю лет так с 15.
Меня не то зацепило,я про  FloatToStrF [3] и пост [4].
Я всегда думал,что inttohex...а тут такая удача,перевод вещественного в hex одним оператором.Но не тут то было,я уже поглядел на F1.
З.Ы.А может Вы хотели меня обидеть?


 
GanibalLector ©   (2004-12-12 01:29) [9]

Хотя конечно,моя вина,признаю...Не особо вчитался в сабж и полез постить,отсюда и  [7].Ладно,забыли.



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

Текущий архив: 2004.12.26;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.045 c
14-1102340478
msguns
2004-12-06 16:41
2004.12.26
Кто похвалит себя лучше всех


1-1102751874
Dema-X
2004-12-11 10:57
2004.12.26
ошибка еакцессволюшион LoadFromStream


1-1103096865
Змей
2004-12-15 10:47
2004.12.26
DriveCombobox


14-1102503212
}|{yk
2004-12-08 13:53
2004.12.26
Президенту России разрешили укрепить вертикаль власти


14-1102487325
Layner
2004-12-08 09:28
2004.12.26
Подскажите плз, как отправить файл аттачем из ком. строки?