Текущий архив: 2002.11.21;
Скачать: CL | DM;
ВнизКак ограничить количество знаков после запятой? Найти похожие ветки
← →
Vetalar (2002-11-10 21:47) [0]Народ, помогите чайнику! Результат вычисления выводится в лабель,
но он иногда получается слишком большой, что вылазит за форму. Как обрезать количество знаков после запятой?
← →
Fydgety (2002-11-10 22:00) [1]RoundTo(AValue,ADigit),где AValue-число,которое округляешь.
ADigit - десятичный порядок, до которого округляешь.
← →
PKT (2002-11-11 02:24) [2]Или Format-ом воспользуйтесь
Label1.Caption := Format("%5.2n", [AValue]);
2 - число знаков после запятой
← →
Separator (2002-11-11 07:57) [3]
function Okr(Value: double; Digit: byte): string;
var
Factor: Extended;
begin
Factor:= Int(Exp(Digit*Ln(10)));
Result:= FloatToStr(Round(Factor*Value)/Factor)
end;
← →
mmb (2002-11-11 08:11) [4]а ещё есть
function FloatToStrF(Value: Extended; Format: TFloatFormat; Precision, Digits: Integer): string;
← →
SottNick (2002-11-11 08:23) [5]2 Fydgety
это RX? или что? выдерни исходник процедуры
НАДО ЕЩЕ ВСЕХ ПРЕДУПРЕДИТЬ
Round круто глючит с большими числами
на моем P-III рисует "синий экран"
например Round(9,5E19);
так что без проверки на вшивость
не отдавайте числа Round"у
← →
SottNick (2002-11-11 08:29) [6]забыл уточнить:
не всегда глючит
иногда просто Invalid Floating Point Operation
вот демка для глюка:
var
r:real;
begin
r:=9.5E19;
r:=Round(r);
end;
← →
PKT (2002-11-11 09:04) [7]to:SottNick © (11.11.02 08:29)
function Round(X: Extended): Int64;
Int64 –2^63..2^63–1 signed 64-bit
Round(9.5E19) > 2^63–1
← →
Praco (2002-11-11 09:17) [8]И еще:
FormatFloat
FormatCurr
← →
dimonf (2002-11-11 09:20) [9]Воспользуйся procedure Str(X [: Width [: Decimals ]]; var S);
← →
SottNick (2002-11-11 12:35) [10]2 PKT
я понимаю, что больше (битов не хватает для записи числа)
но синий то экран вылазить не должен
Страницы: 1 вся ветка
Текущий архив: 2002.11.21;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.006 c