forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Прочие вопросы (http://forum.boolean.name/forumdisplay.php?f=50)
-   -   Преобразование типов переменных! (http://forum.boolean.name/showthread.php?t=16543)

reyn90 27.03.2012 18:07

Преобразование типов переменных!
 
В справке написано как переводить из типа integer в string и обратно. Так же видел перевод из типа string в real, но вот обратно уже видимо невозможно? Или я не там смотрел?
или же я пишу
Код:

ch11:=StringToReal(formGetText(ch1));
где ch1:string а ch11 - real

Rock2roll 04.05.2012 23:50

Ответ: Преобразование типов переменных!
 
Парень, забей на переводы в стринг чего-либо...это глупость из всех глупостей.

PHP код:

program po;
var 
x:real;
begin
drawtext
(''+x,10,10);
repaintdelay(10000);
end


ViNT 05.05.2012 00:28

Ответ: Преобразование типов переменных!
 
Прямо в хелпе написано
Цитата:

Transforms the string into the real number. The second parameter is the base for transformation.

function StringToReal(str:string; base:integer):real;

PassCall 07.05.2012 12:21

Ответ: Преобразование типов переменных!
 
Цитата:

Сообщение от AngeLvKedaX (Сообщение 227329)
Парень, забей на переводы в стринг чего-либо...это глупость из всех глупостей.

PHP код:

program po;
var 
x:real;
begin
drawtext
(''+x,10,10);
repaintdelay(10000);
end



Не, в приципе делать можно и так, но тогда "1" превратиться в "1.0000". Кому это надо? Так что может это не глупость из глупостей, а?

PassCall 07.05.2012 12:22

Ответ: Преобразование типов переменных!
 
Цитата:

Сообщение от ViNT (Сообщение 227338)
Прямо в хелпе написано

Как работает эта функция, одна из тайн Вселенной.

PassCall 07.05.2012 12:31

Ответ: Преобразование типов переменных!
 
А вообще можно изобрести велосипедную функцию.

Вотъ:

Код:

Function RtS (_a:real):string;
var
treal:real;
ts:string;
begin
        treal:=_a;
        treal:=treal-frac(treal);//убираем дробь
        ts:=IntegerToString(trunc(treal))+'.';//челая часть числа+точка
        treal:=frac(real)*10.0;//вычисляем дробь
        treal:=treal-frac(treal);//убираем лишние знаки у дроби без округления (во избежании одного спецефического бага :В)
        ts:=ts+IntegerToString((trunc(treal)*10.0));//число с точкой+дробь
       
        RtS:=ts;       
end;


ViNT 07.05.2012 23:36

Ответ: Преобразование типов переменных!
 
Цитата:

Сообщение от PassCall (Сообщение 227461)
Как работает эта функция, одна из тайн Вселенной.

Почему же?
Код: drawText(''+StringToReal('-0.1234567891011121314',10), 0, 0);
Результат: -0.1234567891011121
(в режиме Floating-Point).
Более того, судя по всему, ей можно хоть HEX подсунуть, хоть BIN.

PassCall 08.05.2012 13:09

Ответ: Преобразование типов переменных!
 
Цитата:

Сообщение от ViNT (Сообщение 227497)
Почему же?
Код: drawText(''+StringToReal('-0.1234567891011121314',10), 0, 0);
Результат: -0.1234567891011121
(в режиме Floating-Point).
Более того, судя по всему, ей можно хоть HEX подсунуть, хоть BIN.

Хм, точняк. Раньше не знал.

Но все таки иногда 1 знак после запятой лучше, чем 5.


Часовой пояс GMT +4, время: 05:49.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot