Форум: "Основная";
Текущий архив: 2002.10.31;
Скачать: [xml.tar.bz2];
ВнизВопрос наипростейший, тока не помню как... Найти похожие ветки
← →
Dennis S (2002-10-21 15:43) [0]Как убрать (или зафиксировать) кол-во знаков после запятой?
---
c := b * 0.18;
ed18.Text := FloatToStr(c);
---
результат, например = 134,567
а мне надо 134,ХХ
а округлять можно как-то? 134,562 => 134,56 // 134,567 => 134,57
Спасибо заранее :)
← →
REA (2002-10-21 15:45) [1]FormatFloat("0.00", Value)
← →
Dennis S (2002-10-21 15:50) [2]А куда и как?
---
FormatFloat("0.00", c);
c := b * 0.18;
ed18.Text := FloatToStr(c);
---
так не работает - 3 знака вылезает...
← →
MegaBass (2002-10-21 15:50) [3]RoundTo...
← →
Dennis S (2002-10-21 15:54) [4]2 REA
---
FormatFloat("0.00", c);
c := b * 0.18;
ed18.Text := FloatToStr(c);
---
так не работает - 3 знака вылезает...
c := b * 0.18;
FormatFloat("0.00", c);
----
тоже самое...
← →
NickBat (2002-10-21 16:19) [5]Два знака после запятой - это я понимаю копейки?
Так десятые доли копейки надо отбрасывать, а не округлять.
Я делаю это так:
function TruncZent(Sum: double; Sign: integer): double;
var
ss: string;
begin
ss:=FloatToStr(Sum);
if pos(",",ss)>0 then delete(ss,pos(",",ss)+1+Sign,255);
Result:=StrToFloat(ss);
end;
Конечно тут надо смотреть, что в системе за разделитель стоит.
Предвижу замечания - зачем в Строку переводить? Можете поверить, работает отлично, проверено долгой практикой. Варианты с промежуточным Integer имеют свои "глюки".
← →
MegaBass (2002-10-21 16:31) [6]c: double;
s: string[10];
Str(c:4:2, S);
c:=StrToFloat(S);
← →
Dennis S (2002-10-21 16:36) [7]2 NickBat
Спасибо, я поставил +3 (в "...ss)+1+Sign,255...")
то что надо... :)
ХХХХХ ,ХХ
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.10.31;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c