|
Основной форум Сюда все проблемы связанные с программированием. |
09.04.2010, 23:47
|
#1
|
Разработчик
Регистрация: 16.08.2008
Адрес: Нижегородская провинция
Сообщений: 389
Написано 48 полезных сообщений (для 93 пользователей)
|
StringToReal
Почему
function StringToReal(str:string; base:integer):real;
обрезает в конце строчной переменой если имеется ".0" до целого?
Т.е. если строка имеет значение "78.0" остается только "78"
__________________
- Это мы накодили WINDOWS,
- Это мы надкусили APPLE,
- Нам играют живые The Beatles
- И нестареющий Вова Высоцкий...
|
(Offline)
|
|
09.04.2010, 23:49
|
#2
|
Бывалый
Регистрация: 18.08.2009
Сообщений: 745
Написано 146 полезных сообщений (для 215 пользователей)
|
Ответ: StringToReal
попробуй 78.1
78.0 - целое число
|
(Offline)
|
|
10.04.2010, 00:27
|
#3
|
Разработчик
Регистрация: 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
|
Модератор
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений (для 817 пользователей)
|
Ответ: StringToReal
Только если вручную добавлять ноль, поскольку при занесении в память действительного числа с нулевой дробной частью эта дробная часть теряется.
|
(Offline)
|
|
10.04.2010, 22:22
|
#5
|
Разработчик
Регистрация: 16.08.2008
Адрес: Нижегородская провинция
Сообщений: 389
Написано 48 полезных сообщений (для 93 пользователей)
|
Ответ: StringToReal
Сообщение от ViNT
Только если вручную добавлять ноль...
|
Как его можно добавить в ручную? Или подскажите как правильно пользоваться Real.class из MidletPascal 3 betta с примерами.
__________________
- Это мы накодили WINDOWS,
- Это мы надкусили APPLE,
- Нам играют живые The Beatles
- И нестареющий Вова Высоцкий...
|
(Offline)
|
|
11.04.2010, 01:58
|
#6
|
Модератор
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений (для 817 пользователей)
|
Ответ: StringToReal
Так, перечитал еще раз, возможно я не так понял, что нужно сделать.
Как я понимю, нужно ввести число в строковом виде, преобразовать в real, провести вычисления и вывести результат в виде X.YZ, так?
|
(Offline)
|
|
11.04.2010, 08:31
|
#7
|
Разработчик
Регистрация: 16.08.2008
Адрес: Нижегородская провинция
Сообщений: 389
Написано 48 полезных сообщений (для 93 пользователей)
|
Ответ: StringToReal
Сообщение от ViNT
Так, перечитал еще раз, возможно я не так понял, что нужно сделать.
Как я понимю, нужно ввести число в строковом виде, преобразовать в real, провести вычисления и вывести результат в виде X.YZ, так?
|
С клавиатуры вводим строку, преобразуем ее в реал, делаем вычисления, преобразуем в строку, из строки выводим на дисплей в виде графики. Вот именно в такой последовательности .
__________________
- Это мы накодили WINDOWS,
- Это мы надкусили APPLE,
- Нам играют живые The Beatles
- И нестареющий Вова Высоцкий...
|
(Offline)
|
|
11.04.2010, 08:55
|
#8
|
Модератор
Регистрация: 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
|
Мастер
Регистрация: 03.05.2010
Адрес: Подмосковье
Сообщений: 1,218
Написано 438 полезных сообщений (для 790 пользователей)
|
Ответ: StringToReal
Насколько я помню, во freepascal можно было написать что-нибудь вроде
Writeln(a:5:3);
Т. е. , при а=34.6 он выводил на экран 34.600,
а как тут - не знаю:
dontknow:
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 09:20.
|