Форум: "Основная";
Текущий архив: 2004.08.29;
Скачать: [xml.tar.bz2];
ВнизОкругление числа? Найти похожие ветки
← →
SASH2 (2004-08-12 14:03) [0]Добрый день!
На форме есть компонент Edit. В него ввожу цифири, например: 12.239 (float). Подскажите пожалуйста как можно сделать округление числа, т.е. чтоб было 12.240
← →
_student (2004-08-12 14:05) [1]Написать функцию MyRound(i:integer):integer;
← →
SASH2 (2004-08-12 14:10) [2]А как можно оставить только три знака после запятой, т. е. если у нас, например: 12.246653778, то оставить только 12.246?
← →
Sandman25 © (2004-08-12 14:12) [3][2] SASH2 (12.08.04 14:10)
Оставить где, в числе? Или при его выводе в виде текста?
← →
QQ © (2004-08-12 14:18) [4]
RoundTo
из модуляMath
← →
SASH2 (2004-08-12 14:28) [5]function RoundTo(const AValue: Double; const ADigit: TRoundToRange): Double;
И что в эту функцию вписывать?
← →
begin...end © (2004-08-12 15:05) [6]
> [5] SASH2 (12.08.04 14:28)
function RoundTo(const AValue: Double; const ADigit: TRoundToRange): Double;
> И что в эту функцию вписывать?
Наверняка ты взял описание синтаксиса функции из help"а. Трудно было прочитать дальше?
Для округления 12.239 до 12.240 (насколько я понял твоё желание) ADigit должно быть равно -2.
← →
OSokin © (2004-08-12 19:54) [7]Вот, накопал в FAQ:
function RoundEx( X: Double; Precision : Integer ): Double;
{Precision :
1 - до целых
10 - до десятых
100 - до сотых
...
}
var ScaledFractPart, Temp : Double;
begin
ScaledFractPart := Frac(X)*Precision;
Temp := Frac(ScaledFractPart);
ScaledFractPart := Int(ScaledFractPart);
if Temp >= 0.5 then ScaledFractPart := ScaledFractPart + 1;
if Temp <= -0.5 then ScaledFractPart := ScaledFractPart - 1;
RoundEx := Int(X) + ScaledFractPart/Precision;
end;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.08.29;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.034 c