|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Помогите с дробями!
Здравствуйте, подскажите пожалуйста как дробные числа отображать без целого? Например есть 12,3456 должно быть 3456.
|
#2
|
||||
|
||||
a:=12.3456;
b:=a-trunc(a); // b=0.3456 дальше можно через str перевести в строку и удалить первые два символа. Думаю так jmp $ ; Happy End! The Cake Is A Lie. |
#3
|
|||
|
|||
2 варианта
1. Округлить используя Round 2. Перевести в строку DoubleTostr и разделить |
#4
|
||||
|
||||
ещё вариант:
Код:
function GetFracPart(A: Extended): String; begin Result := FloatToStr(A); Delete(Result, 1, Pos(',', Result)); end; |
#5
|
|||
|
|||
Спасибо, помогло. Не подскажите еще как сделать так, чтобы при делении к примеру 30/60 ответ был 0,50 а не 0,5?
|
#6
|
||||
|
||||
Цитата:
Код:
function AddZero(const S: String): String; begin if Pos(',', S) = 0 then // если дробной части нет вообще Result := S + ',00' // добавляется два нуля else begin if Length(S) - Pos(',', S) = 1 then // если после запятой 1 знак Result := S + '0' // в конце добавляется 0 else // если всё как надо, Result := S; // то остаётся без изменений end; end; Последний раз редактировалось ryderx34, 14.11.2010 в 11:31. |
#7
|
|||
|
|||
Спасибо большое.
|