Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.07.2008, 21:23   #1
MAKEDON
The First Person!
Форумчанин
 
Аватар для MAKEDON
 
Регистрация: 07.08.2007
Сообщений: 228
Вопрос Из string в integer

Я знаю что можно перевести данные из числового(integer) в строчный тип(string). А мне нужны данные из строки перевести в числовой...в строке первоначально числа, если что. Как это можно сделать? И взможно ли это вообще?
Программа обычно делает то что вы ей сказали сделать, а не то что бы вы хотели, чтобы она сделала.
MAKEDON вне форума Ответить с цитированием
Старый 28.07.2008, 21:29   #2
Roof
Форумчанин
 
Аватар для Roof
 
Регистрация: 01.02.2007
Сообщений: 785
По умолчанию

вот так
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
a, b, itog: integer;
begin
a:= StrToInt(Edit1.Text);    //из строки в число(integer)
b:= StrToInt(Edit2.Text);
itog:= a+b;
Label1.Caption:= IntToStr(itog);

end;
Код:
procedure TForm1.Button2Click(Sender: TObject);
var
s: string;
itog: integer;
begin
s:= '5';
itog:= StrToInt(s)*2;
Label1.Caption:= IntToStr(itog);
end;
Изо всей благодати
В руках крепко сжатых
Я донесу только капли

Последний раз редактировалось Roof; 28.07.2008 в 21:35.
Roof вне форума Ответить с цитированием
Старый 28.07.2008, 21:55   #3
MAKEDON
The First Person!
Форумчанин
 
Аватар для MAKEDON
 
Регистрация: 07.08.2007
Сообщений: 228
По умолчанию

Ппц) протсо наоборот чем IntToStr)) Спс башое!
Программа обычно делает то что вы ей сказали сделать, а не то что бы вы хотели, чтобы она сделала.
MAKEDON вне форума Ответить с цитированием
Старый 29.07.2008, 11:26   #4
MAKEDON
The First Person!
Форумчанин
 
Аватар для MAKEDON
 
Регистрация: 07.08.2007
Сообщений: 228
По умолчанию

А можно перевести из типа Extended в тип String?
Программа обычно делает то что вы ей сказали сделать, а не то что бы вы хотели, чтобы она сделала.
MAKEDON вне форума Ответить с цитированием
Старый 29.07.2008, 11:30   #5
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

Можно, FloatToStr
_Dmitry вне форума Ответить с цитированием
Старый 29.07.2008, 11:33   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Да FloatToStr и их семейство.

ха!! Опять не успел
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.07.2008, 14:05   #7
Ring0Sn
Форумчанин
 
Аватар для Ring0Sn
 
Регистрация: 06.09.2007
Сообщений: 239
По умолчанию

Только надо читывать что FloatToStr и их семейство. ориентированы на локаль (разделитель = либо точка | либо запятая)!
Если у вас допустим локально используеться разделитель "запятая", то запустив вашу программу в другом месте, где в локали точка, то получите EConvertError
Тачто это семейство не оченьто и пригодно, в отличие от старых добрых паскалевских Val и Str
это так для справки, чтоб некоторые не удивлялись почуму их задачки могут дома работать а в выч. зале нет
Ring0Sn вне форума Ответить с цитированием
Старый 29.07.2008, 14:54   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну эта болзнь "семейства" лечится просто: DecimalSeparator в нужный символ

P.S. кстати такой пример как Val('12,34',e,k); даст неверный результат.
Так что он тоже не панацея
I'm learning to live...

Последний раз редактировалось Stilet; 29.07.2008 в 14:58.
Stilet вне форума Ответить с цитированием
Старый 29.07.2008, 15:15   #9
Ring0Sn
Форумчанин
 
Аватар для Ring0Sn
 
Регистрация: 06.09.2007
Сообщений: 239
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Ну эта болзнь "семейства" лечится просто: DecimalSeparator в нужный символ
Код:
TFormatSettings = record
  CurrencyFormat: Byte;
  NegCurrFormat: Byte;
  ThousandSeparator: Char;
  DecimalSeparator: Char;
  CurrencyDecimals: Byte;
  DateSeparator: Char;
  TimeSeparator: Char;
  ListSeparator: Char;
  CurrencyString: string;
  ShortDateFormat: string;
  LongDateFormat: string;
  TimeAMString: string;
  TimePMString: string;
  ShortTimeFormat: string;
  LongTimeFormat: string;
  ShortMonthNames: array[1..12] of string;
  LongMonthNames: array[1..12] of string;
  ShortDayNames: array[1..7] of string;
  LongDayNames: array[1..7] of string;
  TwoDigitYearCenturyWindow: Word;
end;
А ТО ))) очень удобно, таскать с собой 20 параметров ))))
Цитата:
Сообщение от Stilet Посмотреть сообщение
P.S. кстати такой пример как Val('12,34',e,k); даст неверный результат.
Так что он тоже не панацея
Само собой) Val всегда был заточен под .ТОЧКУ
немного прикинув:
Код:
function Extstr2Float( s: string ) : double;
var p : Integer
begin
  p := pos( ',',  s ); 
  if p > 0 then s[p] := '.';
  Val( s, Result, p );
end;
можно получить универсальную функцию и забыть про все эти семейства ...FloatTo...

зы но спорить не будем, каждому своё (и своё не каждому )

Последний раз редактировалось Ring0Sn; 29.07.2008 в 15:39. Причина: зы
Ring0Sn вне форума Ответить с цитированием
Старый 29.07.2008, 15:38   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
очень удобно, таскать с собой 20 параметров
Ну так можно и с VCL поругаться ))))
Впрочем спорить не буду. VCL перегруженна на славу.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
is not a valiad integer value aesoem БД в Delphi 8 30.06.2008 01:39
integer, for, if в Pascal boom99 Помощь студентам 3 12.11.2007 16:25
перевести число, находящееся в string, в integer? andrey4623 Паскаль, Turbo Pascal, PascalABC.NET 4 23.06.2007 00:32
как перевести из integer в real(и обратно), и из real в string(и обратно) Ga-sergey Общие вопросы Delphi 2 08.06.2007 21:13
String и Integer bek@rt Общие вопросы Delphi 10 18.05.2007 19:02