![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Количество знаков после запятой [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]забываешь?
а я и не знал такой... :(((
как вспомнишь, напиши обязательно.
ЗЫ.
Тим числа какой?