Преобразование сроки в числоDelphi , Синтаксис , Текст и СтрокиПреобразование сроки в число
Автор: Separator { **** UBPFD *********** by delphibase.endimus.com **** >> Преобразование сроки в число Преобразует строку в число, при этом удаля из строки все лишние символы Зависимости: нет Автор: Separator, vilgelm@mail.kz, ICQ:162770303, Алматы Copyright: Separator Дата: 7 мая 2003 г. ***************************************************** } function StringToNumber(const Value: string): string; var ResStr: string; i, j, L: integer; Ch: char; E, DS: boolean; begin Result := '0'; L := Length(Value); if L <> 0 then begin SetLength(ResStr, L); E := false; DS := false; j := 0; for i := 1 to L do begin Ch := Value[i]; case Ch of '0'..'9': begin Inc(j); ResStr[j] := Ch end; //'0'..'9': begin '.', ',': if (not DS) and (not E) and (i <> L) then begin DS := true; Ch := DecimalSeparator; if j = 0 then begin Inc(j); ResStr[j] := '0'; end; //if j = 0 then begin Inc(j); ResStr[j] := Ch end; //'.', ',': if (not DS) and (i <> L) then begin 'e', 'E': if (not E) and (i <> L) then begin E := true; Ch := 'E'; if j = 0 then begin Inc(j); ResStr[j] := '0'; end; //if j = 0 then begin Inc(j); ResStr[j] := Ch end //'.', ',': if (not DS) and (i <> L) then begin end //case Ch of end; //for i:= 1 to L do begin if j <> 0 then begin if ResStr[j] = 'E' then Dec(j); if ResStr[j] = DecimalSeparator then Dec(j); SetLength(ResStr, j); Result := ResStr end //if j <> 0 then begin end //if L <> 0 then begin end; Пример использования: Edit1.Text = ',...,fgftgtr656,.567erdf..5,,632' Edit2.Text := StringToNumber(Edit1.Text); Edit2.Text = 0, 656567E5632 Статья Преобразование сроки в число раздела Синтаксис Текст и Строки может быть полезна для разработчиков на Delphi и FreePascal. Комментарии и вопросы:: 2010-02-11 15:33:02 :: re:Преобразование сроки в числопользователь: Shamil. подскажите,пожалуйста,как будет выглядеть на delphi 2007 самый простой алгоритм преобразования строки в число без (использования StrToInt) :: 2010-02-11 22:48:46 :: re:Преобразование сроки в числопользователь: kan. 0. Итоговое число=0, множитель=1 Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Текст и Строки ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |