Вниз
Скачать: CL | DM;

Работа с строкой   Найти похожие ветки 

 
vigo   (2005-08-02 11:50) [0]

Добрый день!
Есть небольшая задачка по обработке дробной части числа. Если др.часть, грубо говоря, целая, то есть "0.1" и т.п., то её "дополнить" нулем, то есть "0.10". Написал код, но не нравиться, кол-во используемых переменных, каюсь (сильно не бить):
var
s, s1 : string;
i, z: integer;
begin
s := "100.5"; s1 := "";
if pos(".", s) > 0 then
 for i := 1 to length(s) do
   if s[i] = "." then
     begin
      z := i + 1;
      repeat s1 := s1 + s[z]; z := z + 1; until s[z] = "";
     end;
if length(s1) = 1 then s := s + "0";
ShowMessage(""+s+"");

Подскажите ещё какие-нить варианты.


 
Jeer ©   (2005-08-02 12:03) [1]

>Если др.часть, грубо говоря, целая

Это что-то новое в математике ?


 
Lexer ©   (2005-08-02 12:06) [2]

Может это подойдет?
s := Format("%.2f", [100.5])


 
vigo   (2005-08-02 12:45) [3]


> Lexer ©   (02.08.05 12:06) [2]

А если s не константа?


 
Lexer ©   (2005-08-02 12:48) [4]

> vigo   (02.08.05 12:45) [3]
> А если s не константа?


 d := Любое число;
 Label1.Caption := Format("%.2f", [d])


 
vigo   (2005-08-02 12:58) [5]

все понял, то бишь s := Format("%.2f", [StrToFloat(s)]);
большое спасибо



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.023 c
14-1122647124
oldman
2005-07-29 18:25
2005.08.21
Проблемы с несчастным SP2.


4-1120037901
Juice
2005-06-29 13:38
2005.08.21
доставка почты с сервера ( OLE Outlook )


10-1099939982
Mr
2004-11-08 21:53
2005.08.21
Сервер RPC недоступен


9-1114775613
Alex_C
2005-04-29 15:53
2005.08.21
Алгоритм создания части окружности


14-1122632474
Kerk
2005-07-29 14:21
2005.08.21
Удобство vs приватность в сети. Диалог. Мысли?




   Наверх