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

Вниз

установить ограничение после запятой   Найти похожие ветки 

 
Aliv   (2005-09-15 14:47) [0]

напомните склеротику
например значение 3,1234567 сократить до 3,12 или 3,1
забыл, чесслово :(


 
Antonn ©   (2005-09-15 14:58) [1]


> значение 3,1234567

какой тип у значения?


 
Aliv   (2005-09-15 15:09) [2]

real
4.1234345234
надо 4.12


 
Германн ©   (2005-09-15 15:11) [3]

А где сократить? В памяти или на экране?


 
Aliv   (2005-09-15 15:20) [4]

хоть так хоть так :)
у меня сложное уравнение считается, надо вывести ответ (не важно как) с одной-двумя цифрами после точки... пусть даже
label.caption:=floattostr(znach);
наверное в памяти надо подрезать, чтоб выводить потом... или при выводе ограничить... НУ ЗАБЫЛ Я! :(((
блин, это ж так просто, вылетела функция из головы и никакой информации под рукой =(


 
Германн ©   (2005-09-15 15:22) [5]

FloatToStrF(znach,ffFixed,3,2)


 
Aliv   (2005-09-15 15:25) [6]

уфф, спасибо огромное
гора с плеч :)


 
Ega23 ©   (2005-09-15 15:28) [7]


Function Trunc2(const aValue:real):Real;
begin
result:=Trunc(aValue*100)/100;
end;


 
Anatoly Podgoretsky ©   (2005-09-15 18:56) [8]

Ega23 ©   (15.09.05 15:28) [7]
Как этот неверный ответ полюбился народу, это для обычной математики, но не для двоичной с плавающей запятой. Да и не надо ему это, вполне хватит вывода с форматированием.


 
GanibalLector ©   (2005-09-15 20:03) [9]

>сократить до 3,12 или 3,1


RoundTo(3.1234567,-1)
и
RoundTo(3.1234567,-2) , соответственно


 
GuAV ©   (2005-09-15 22:07) [10]

Anatoly Podgoretsky ©   (15.09.05 18:56) [8]

Почти тоже самое в RoundTo из math.pas . Это следствие народной любви, ошибка, или кто-то чего-то не понял ?


 
Anatoly Podgoretsky ©   (2005-09-15 22:14) [11]

GuAV ©   (15.09.05 22:07) [10]
Именно так, очень много включили в последнии версии из-за народной любви. Например присно известное IncDay. Ну невозможно говорить о количестве знаков после запятой для типа с плавающей запятой, который не в состоянии представить большинство чисел точно.


 
GuAV ©   (2005-09-15 22:59) [12]

Anatoly Podgoretsky ©   (15.09.05 22:14) [11]

> Например присно известное IncDay.

Там не тот самый код, так не интересно :-)


> который не в состоянии представить большинство чисел
> точно.

Ха, никакой тип не сможет представить большинство чисел точно, если говорить о множестве вещественных (или даже целых) чисел :-)


 
Anatoly Podgoretsky ©   (2005-09-15 23:04) [13]

Фиксированая запятая - абсолютная точность
Плавающая запятая - относительная точность, правильнее назвать абсолютная неточность.


 
Anatoly Podgoretsky ©   (2005-09-15 23:05) [14]

Реализация фиксированой запятой у Борланда вызывает сожаление. Они даже в dBase смогли ее испортить.


 
GuAV ©   (2005-09-15 23:20) [15]


> Фиксированая запятая - абсолютная точность

Для некоторого числа знаков после запятой.

не согласен с [13]

"Хитрость" currency не в том, что запятая зафиксирована (то же можно достичь и для double, если не менять экспоненту), а тем, что за запятой остаётся 10000 значений, а не 2 в степени N (как в двоичной) и не 2571. Если запятая будет плавать, устанавливая "prescaler" в 1, 10, 100, 1000, и т.д. будет банковсий тип с плавающей запятой.

0,1 (в троичной системе) не представляется абсолютно точно типом currency.


 
Anatoly Podgoretsky ©   (2005-09-16 00:21) [16]

Ладно не будем обсуждать, те несколько фраз, которые мы сказали, позволяют понять, что о количестве знаков можно говорить только с определенной натяжкой и понимая что делается и когда применимо и почему результат не соответсвует ожидаемому.



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

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

Наверх





Память: 0.48 MB
Время: 0.014 c
11-1106395918
dimaxx
2005-01-22 15:11
2005.10.09
Объект в DLL и использование его методов в главном модуле


3-1124880664
Слава-АБС
2005-08-24 14:51
2005.10.09
Открытие Dbf через ADO


10-1103202378
Rext
2004-12-16 16:06
2005.10.09
DCOM-клиент и поток


5-1101835909
Ranger
2004-11-30 20:31
2005.10.09
Тестирование интерфейса времени проектирования


2-1125384067
Alavar
2005-08-30 10:41
2005.10.09
Как переменной присвоить значение конкретной ячейки БД?





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