![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Подскажите плиз...в поиске не нашел...
Нужно убрать числа после запятой вызванные при деление....например у меня в Лайбеле выводиться "5.78945482319". А хотелось бы убрать после точки все цифры..как сделть? |
|
#2
|
|||
|
|||
|
Если "Х" твоя переменная, то Round(X) будет равно 6, а Trunc(X) будет равно 5. Вот и все проблемы.
|
|
#3
|
||||
|
||||
|
Вариантов много, один вам уже дали.
Вот второй: Код:
Label1.Caption := Format('%2.0f', [5.12345]); |
|
#4
|
||||
|
||||
|
Да, но при Round(1.5) = 2 и при Round(2.5) = 2.
Где- то стырил функцию "правильного" округления Код:
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;Последний раз редактировалось TOJluK, 14.10.2009 в 09:50. |
|
#5
|
|||
|
|||
|
Цитата:
|