Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Количество знаков после запятой [D7, WinXP]


Dinnik ©   (2004-10-11 15:36:00) 

Забываю как определить количество знаков после запятой. Какая функция? Спасибо!!


TUser   (2004-10-12 10:36:00) [1]


> это ты зря... применяя твой алгоритм у 3.109, всего один
> знак после запятой...

надо просто до конца досмотреть и запомнить, где был последний не-ноль.


-=SS=-   (2004-10-12 10:22:00) [2]

Да....
Есть функция FloatToStrF() F1 нажмешь по ней и хелпе почитаешь.


Palladin   (2004-10-11 21:25:00) [3]


>  begin...end ©   (11.10.04 21:23)

ну тут два варианта... либо в школе задачку дали, либо разрабатывает ПО для атомной электростанции....


begin...end   (2004-10-11 21:23:00) [4]

Да и зачем это вообще нужно?


Palladin   (2004-10-11 21:23:00) [5]


> OSokin ©   (11.10.04 20:30)

кстати :) в твоей функции количество знаков после запятой у числа 3.125324345 будет четыре... и вообще не больше четырех...


Palladin   (2004-10-11 21:21:00) [6]


>  OSokin ©   (11.10.04 20:30)

а в твоей функции у числа 3 - 2 знака после запятой...

сам по себе вопрос не имеет смысла...  1/3 - количество знаков после запятой бесконечно...

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


Palladin   (2004-10-11 21:18:00) [7]


> [3] TUser ©

это ты зря... применяя твой алгоритм у 3.109, всего один знак после запятой...


TUser   (2004-10-11 21:13:00) [8]


> result:=length(s)-pos(s,'.');

DecimalSeparator, и не самый это основной принцып. Я бы делал не так умножал бы на десять, отбрасывал бы дробную часть. Каждый раз проверял бы, не ноль ли последняя цифра.


OSokin   (2004-10-11 20:30:00) [9]


funcion GetNumbersAfterPoint(num:real);
var s:string;
begin
 s:=currtostr(num);
 result:=length(s)-pos(s,'.');
end;

Писалось только сейчас, принцип этот основной, так что не судите строга


Суслик   (2004-10-11 15:42:00) [10]

забываешь?
а я и не знал такой... :(((
как вспомнишь, напиши обязательно.

ЗЫ.
Тим числа какой?


Наверх

Титульная страница Поиск, карта сайта Написать письмо