Вниз
Скачать: 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.098 c
1-1122865029
Lexa
2005-08-01 06:57
2005.08.21
Ошибка при работе со строковыми переменными?


8-1112079276
VIS
2005-03-29 10:54
2005.08.21
tuner


4-1119763511
Гость2
2005-06-26 09:25
2005.08.21
Как недоаустить повторного открытия моего приложения?


3-1121166891
Ирина
2005-07-12 15:14
2005.08.21
Сортировка


3-1121011873
Kreyl
2005-07-10 20:11
2005.08.21
Что я делаю неправильно? Запрос или код?




   Наверх