forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Основной форум (http://forum.boolean.name/forumdisplay.php?f=49)
-   -   StringToReal (http://forum.boolean.name/showthread.php?t=12344)

GRAY_WOLF 09.04.2010 23:47

StringToReal
 
Почему
PHP код:

function StringToReal(str:stringbase:integer):real

обрезает в конце строчной переменой если имеется ".0" до целого?
Т.е. если строка имеет значение "78.0" остается только "78"

cherepets 09.04.2010 23:49

Ответ: StringToReal
 
попробуй 78.1
78.0 - целое число

GRAY_WOLF 10.04.2010 00:27

Ответ: StringToReal
 
Цитата:

Сообщение от cherepets (Сообщение 144358)
попробуй 78.1
78.0 - целое число

78.1 норм без обрезов,но мне для калькулятора имено надо что бы было ".0"

ViNT 10.04.2010 02:23

Ответ: StringToReal
 
Только если вручную добавлять ноль, поскольку при занесении в память действительного числа с нулевой дробной частью эта дробная часть теряется.

GRAY_WOLF 10.04.2010 22:22

Ответ: StringToReal
 
Цитата:

Сообщение от ViNT (Сообщение 144367)
Только если вручную добавлять ноль...

Как его можно добавить в ручную? Или подскажите как правильно пользоваться Real.class из MidletPascal 3 betta с примерами.

ViNT 11.04.2010 01:58

Ответ: StringToReal
 
Так, перечитал еще раз, возможно я не так понял, что нужно сделать.
Как я понимю, нужно ввести число в строковом виде, преобразовать в real, провести вычисления и вывести результат в виде X.YZ, так?

GRAY_WOLF 11.04.2010 08:31

Ответ: StringToReal
 
Цитата:

Сообщение от ViNT (Сообщение 144457)
Так, перечитал еще раз, возможно я не так понял, что нужно сделать.
Как я понимю, нужно ввести число в строковом виде, преобразовать в real, провести вычисления и вывести результат в виде X.YZ, так?

С клавиатуры вводим строку, преобразуем ее в реал, делаем вычисления, преобразуем в строку, из строки выводим на дисплей в виде графики. Вот именно в такой последовательности .

ViNT 11.04.2010 08:55

Ответ: StringToReal
 
Ну значит примерно так:
PHP код:

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 

компилить не пробовал, но примерно так.

Igor 03.05.2010 18:50

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


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

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