Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   www.boolean.name > Программирование игр для мобильных телефонов > MidletPascal > Прочие вопросы

Прочие вопросы Вопросы не касающиеся программирования (установка, настройка...)

Ответ
 
Опции темы
Старый 27.03.2012, 14:07   #1
reyn90
Нуждающийся
 
Регистрация: 12.10.2009
Сообщений: 66
Написано 0 полезных сообщений
(для 0 пользователей)
Преобразование типов переменных!

В справке написано как переводить из типа integer в string и обратно. Так же видел перевод из типа string в real, но вот обратно уже видимо невозможно? Или я не там смотрел?
или же я пишу
ch11:=StringToReal(formGetText(ch1));
где ch1:string а ch11 - real

Последний раз редактировалось reyn90, 27.03.2012 в 14:20. Причина: не real в string a string в real
(Offline)
 
Ответить с цитированием
Старый 04.05.2012, 19:50   #2
Rock2roll
Знающий
 
Аватар для Rock2roll
 
Регистрация: 14.05.2010
Сообщений: 297
Написано 13 полезных сообщений
(для 13 пользователей)
Ответ: Преобразование типов переменных!

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

program po;
var 
x:real;
begin
drawtext
(''+x,10,10);
repaintdelay(10000);
end
__________________
G502, GT S5230w user!
(Offline)
 
Ответить с цитированием
Старый 04.05.2012, 20:28   #3
ViNT
Модератор
 
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений
(для 817 пользователей)
Ответ: Преобразование типов переменных!

Прямо в хелпе написано
Transforms the string into the real number. The second parameter is the base for transformation.

function StringToReal(str:string; base:integer):real;
(Offline)
 
Ответить с цитированием
Старый 07.05.2012, 08:21   #4
PassCall
Разработчик
 
Аватар для PassCall
 
Регистрация: 07.04.2011
Адрес: Млечный путь, Земля, Европа, Беларусь, Могилев
Сообщений: 391
Написано 94 полезных сообщений
(для 319 пользователей)
Ответ: Преобразование типов переменных!

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

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

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

Всё гениальное - просто.

http://passcall.ucoz.com
(Offline)
 
Ответить с цитированием
Старый 07.05.2012, 08:22   #5
PassCall
Разработчик
 
Аватар для PassCall
 
Регистрация: 07.04.2011
Адрес: Млечный путь, Земля, Европа, Беларусь, Могилев
Сообщений: 391
Написано 94 полезных сообщений
(для 319 пользователей)
Ответ: Преобразование типов переменных!

Сообщение от ViNT Посмотреть сообщение
Прямо в хелпе написано
Как работает эта функция, одна из тайн Вселенной.
__________________
Мечта программиста: запрограммировать процесс программирования.

Всё гениальное - просто.

http://passcall.ucoz.com
(Offline)
 
Ответить с цитированием
Старый 07.05.2012, 08:31   #6
PassCall
Разработчик
 
Аватар для PassCall
 
Регистрация: 07.04.2011
Адрес: Млечный путь, Земля, Европа, Беларусь, Могилев
Сообщений: 391
Написано 94 полезных сообщений
(для 319 пользователей)
Ответ: Преобразование типов переменных!

А вообще можно изобрести велосипедную функцию.

Вотъ:

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;
__________________
Мечта программиста: запрограммировать процесс программирования.

Всё гениальное - просто.

http://passcall.ucoz.com
(Offline)
 
Ответить с цитированием
Старый 07.05.2012, 19:36   #7
ViNT
Модератор
 
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений
(для 817 пользователей)
Ответ: Преобразование типов переменных!

Сообщение от PassCall Посмотреть сообщение
Как работает эта функция, одна из тайн Вселенной.
Почему же?
Код: drawText(''+StringToReal('-0.1234567891011121314',10), 0, 0);
Результат: -0.1234567891011121
(в режиме Floating-Point).
Более того, судя по всему, ей можно хоть HEX подсунуть, хоть BIN.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
PassCall (08.05.2012)
Старый 08.05.2012, 09:09   #8
PassCall
Разработчик
 
Аватар для PassCall
 
Регистрация: 07.04.2011
Адрес: Млечный путь, Земля, Европа, Беларусь, Могилев
Сообщений: 391
Написано 94 полезных сообщений
(для 319 пользователей)
Ответ: Преобразование типов переменных!

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

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

Всё гениальное - просто.

http://passcall.ucoz.com
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +1, время: 00:13.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com