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

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

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

Основной форум Сюда все проблемы связанные с программированием.

Ответ
 
Опции темы
Старый 09.04.2010, 23:47   #1
GRAY_WOLF
Разработчик
 
Аватар для GRAY_WOLF
 
Регистрация: 16.08.2008
Адрес: Нижегородская провинция
Сообщений: 389
Написано 48 полезных сообщений
(для 93 пользователей)
StringToReal

Почему
function StringToReal(str:stringbase:integer):real
обрезает в конце строчной переменой если имеется ".0" до целого?
Т.е. если строка имеет значение "78.0" остается только "78"
__________________
- Это мы накодили WINDOWS,
- Это мы надкусили APPLE,
- Нам играют живые The Beatles
- И нестареющий Вова Высоцкий...
(Offline)
 
Ответить с цитированием
Старый 09.04.2010, 23:49   #2
cherepets
Бывалый
 
Регистрация: 18.08.2009
Сообщений: 745
Написано 146 полезных сообщений
(для 215 пользователей)
Ответ: StringToReal

попробуй 78.1
78.0 - целое число
(Offline)
 
Ответить с цитированием
Старый 10.04.2010, 00:27   #3
GRAY_WOLF
Разработчик
 
Аватар для GRAY_WOLF
 
Регистрация: 16.08.2008
Адрес: Нижегородская провинция
Сообщений: 389
Написано 48 полезных сообщений
(для 93 пользователей)
Ответ: StringToReal

Сообщение от cherepets Посмотреть сообщение
попробуй 78.1
78.0 - целое число
78.1 норм без обрезов,но мне для калькулятора имено надо что бы было ".0"
__________________
- Это мы накодили WINDOWS,
- Это мы надкусили APPLE,
- Нам играют живые The Beatles
- И нестареющий Вова Высоцкий...
(Offline)
 
Ответить с цитированием
Старый 10.04.2010, 02:23   #4
ViNT
Модератор
 
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений
(для 817 пользователей)
Ответ: StringToReal

Только если вручную добавлять ноль, поскольку при занесении в память действительного числа с нулевой дробной частью эта дробная часть теряется.
(Offline)
 
Ответить с цитированием
Старый 10.04.2010, 22:22   #5
GRAY_WOLF
Разработчик
 
Аватар для GRAY_WOLF
 
Регистрация: 16.08.2008
Адрес: Нижегородская провинция
Сообщений: 389
Написано 48 полезных сообщений
(для 93 пользователей)
Ответ: StringToReal

Сообщение от ViNT Посмотреть сообщение
Только если вручную добавлять ноль...
Как его можно добавить в ручную? Или подскажите как правильно пользоваться Real.class из MidletPascal 3 betta с примерами.
__________________
- Это мы накодили WINDOWS,
- Это мы надкусили APPLE,
- Нам играют живые The Beatles
- И нестареющий Вова Высоцкий...
(Offline)
 
Ответить с цитированием
Старый 11.04.2010, 01:58   #6
ViNT
Модератор
 
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений
(для 817 пользователей)
Ответ: StringToReal

Так, перечитал еще раз, возможно я не так понял, что нужно сделать.
Как я понимю, нужно ввести число в строковом виде, преобразовать в real, провести вычисления и вывести результат в виде X.YZ, так?
(Offline)
 
Ответить с цитированием
Старый 11.04.2010, 08:31   #7
GRAY_WOLF
Разработчик
 
Аватар для GRAY_WOLF
 
Регистрация: 16.08.2008
Адрес: Нижегородская провинция
Сообщений: 389
Написано 48 полезных сообщений
(для 93 пользователей)
Ответ: StringToReal

Сообщение от ViNT Посмотреть сообщение
Так, перечитал еще раз, возможно я не так понял, что нужно сделать.
Как я понимю, нужно ввести число в строковом виде, преобразовать в real, провести вычисления и вывести результат в виде X.YZ, так?
С клавиатуры вводим строку, преобразуем ее в реал, делаем вычисления, преобразуем в строку, из строки выводим на дисплей в виде графики. Вот именно в такой последовательности .
__________________
- Это мы накодили WINDOWS,
- Это мы надкусили APPLE,
- Нам играют живые The Beatles
- И нестареющий Вова Высоцкий...
(Offline)
 
Ответить с цитированием
Старый 11.04.2010, 08:55   #8
ViNT
Модератор
 
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений
(для 817 пользователей)
Ответ: StringToReal

Ну значит примерно так:
var
 
s:string;
 
r:real;
 
b:integer;

begin
 s
:=...//ввод
 
r:=StringToReal(s,b);
 
r:=... //вычисление

 //форматирование и вывод
 
if trunc(r)=r then
  s
:=''+r+'.00'
 
else
  
s:=''+r;
 ...
//вывод s 
компилить не пробовал, но примерно так.
(Offline)
 
Ответить с цитированием
Старый 03.05.2010, 18:50   #9
Igor
Мастер
 
Аватар для Igor
 
Регистрация: 03.05.2010
Адрес: Подмосковье
Сообщений: 1,218
Написано 438 полезных сообщений
(для 790 пользователей)
Ответ: StringToReal

Насколько я помню, во freepascal можно было написать что-нибудь вроде
Writeln(a:5:3);
Т. е. , при а=34.6 он выводил на экран 34.600,
а как тут - не знаю:
dontknow:
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


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