forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Основной форум (http://forum.boolean.name/forumdisplay.php?f=49)
-   -   Помогите! (http://forum.boolean.name/showthread.php?t=14219)

Sloth 11.02.2011 16:00

Помогите!
 
Помогите! Вот фрагмент кода
PHP код:

var S:real;
// Тут вычисления,  бла бла бла
i:=FormAddString('Кол-во нефти =' S); 

Как мне сделать, что бы выводилось не 13,1000 а просто 13,1 (с 1 знаком после запятой)
Сделайте пожалуйста на моем примере, спрашивал в других местах, но нормального ответа не получил, помогите!

PS. Про нефть просто так написал :D

SBJoker 11.02.2011 16:18

Ответ: Помогите!
 
По видимому как то округлять надо число перед добавлением к строке.

Sloth 11.02.2011 16:19

Ответ: Помогите!
 
это понятно, но КАК?

m.ksy 11.02.2011 17:08

Ответ: Помогите!
 
S:=((S*10+0.5)-frac(S*10+0.5))/10

Sloth 12.02.2011 00:17

Ответ: Помогите!
 
не работает :(

VM 12.02.2011 12:41

Re: Помогите!
 
// Округление до одного знака после запятой
function round(x: real): real;
var
f: real; n: integer;

begin
x := x*10;
f := Frac(x); //дробная часть
if (f >= 0.5) then x := x - f + 1;
if (f < 0.5) then x := x - f;
x := x/10;
round := x;
end;

s := Round(s)

В настройках поставить floating-point

barsunduk 12.02.2011 22:04

Ответ: Помогите!
 
а у меня вот такая странная хрень получилась. работает без Frac и floating-point ставить не надо. округляет по правилам, вроде.

PHP код:

function Round1(xreal): string;
begin
  Round1 
:= '' trunc(x) + ',' + (trunc(100) - (trunc(x) * 100) + 5div 10;
end

еще и запятую вместо точки поставить можно ..)


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

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