Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.01.05;
Скачать: CL | DM;

Вниз

Как избавиться от пробелов в строке???   Найти похожие ветки 

 
Met ©   (2003-12-18 08:51) [0]

Привет всем у меня возникла такая проблема. У меня есть строковая переменная, которая заполняется данными с весов. Так вот данные выглядят так - 0.96. Эту переменную мне нужно преобразовать в др. переменную типа Real. проблема в том что из-за пробелов это не возможно. Сделать так s:=copy(s,4,4) нельзя, т.к. при большом весе эти пробелы заполняться цифрами. Помогите избавиться от этих пробелов при малом весе.


 
Digitman ©   (2003-12-18 08:56) [1]

см. Trim()


 
Met ©   (2003-12-18 09:01) [2]

Есть такая строка но она не помогает
s:=trim(copy(s,2,length(s)-2));


 
Anatoly Podgoretsky ©   (2003-12-18 09:04) [3]

Строки с пробелами в начале прекрасно преобразовываются в Real без каких либо дополнительных операция, ты что то делаешь неправильно.


 
Digitman ©   (2003-12-18 09:06) [4]

что-то непонятно ...

если имеется строка " 0.96" и после Trim она превратилась в "0.96" (готовое правильное представление для преобр-я в real), на кой шут еще какие-то copy() делать ?


 
Met ©   (2003-12-18 09:07) [5]

В том и проблема что в начале стоит знак " - " а только потом пробелы


 
Met ©   (2003-12-18 09:12) [6]

2Digitman
s:=trim(copy(s,2,length(s)-2)); Этой строкой я убираю всякий мусор и после этого s равна (- 0.96). Из-за того что в начале стоит знак минус не получается использовать trim()


 
MBo ©   (2003-12-18 09:14) [7]

s:=StringReplace(s," ","",[rfReplaceAll]);
или
j:=0;
for i:=1 to Length(s) do begin
if s[i]=" " then
inc(j)
else
s[i-j]:=s[i]
end;
SetLength(s, Length(s)-j);


 
Илайдж ©   (2003-12-18 09:15) [8]

StringReplace(s," ","",[rfReplaceAll])


 
Digitman ©   (2003-12-18 09:16) [9]

хм ... отрицательный вес ? в этом что-то есть))

while True do
begin
i:= Pos(" ", S);
if i = 0 then
Break
else
S[i] := "0";
end;


 
Юрий Зотов ©   (2003-12-18 09:17) [10]

> Met © (18.12.03 09:12) [6];

R := StrToFloat(StringReplace(S, " ", "", [rfReplaceAll]))


 
Anatoly Podgoretsky ©   (2003-12-18 09:19) [11]

Met © (18.12.03 09:07) [5]
Ты меняешь постановку по ходу дела, в такой постановке надо просто пробелы заменить на 0


 
Ega23 ©   (2003-12-18 09:20) [12]


> хм ... отрицательный вес ? в этом что-то есть))

А это у него платформа весовая неоткалибрована.

> Met © (18.12.03 08:51)

Что за платформа-то? Из VPA серии? Если да, то есть наработки.


 
Met ©   (2003-12-18 09:24) [13]

Спасибо


 
ALEIIIKA ©   (2003-12-18 12:07) [14]

А так не пробовал:

while Pos(" ",s) > 0 do
Delete(s,Pos(" ",s),1);

и пробелов как не бывало.
Возможно у тебя надо изменить значение
DecimalSeparator := "."



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

Текущий архив: 2004.01.05;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.029 c
14-12113
SergP
2003-12-14 18:39
2004.01.05
Срочно нужно. Помогите. Вопрос по MySQL и PHP....


1-11948
SergP
2003-12-19 21:08
2004.01.05
Есть ли готовая функция для преобразования строки к виду


14-12078
Сатир
2003-12-14 19:59
2004.01.05
Happy birthday Esu!


1-11899
MakNik
2003-12-18 11:34
2004.01.05
Hint


3-11832
KIR
2003-12-05 17:56
2004.01.05
Запомнить позицию в НД перед обновлением