프로그램을 하다보니 몇몇 정정할 부분이 생겨 이렇게 질문을 드립니다.
변수는 이렇게 정의 했구요
pijetsu1 :integer;
pijetsu2 :integer;
pijetsu3 :double;
프로그램 루핑을 돌리는데.
if fieldbyname('totiqty').asinteger=0 then
begin
pijetsu1:=fieldbyname('totcqty').asinteger;
pijetsu3:=(pijetsu1 div 1)*100;
end;
if fieldbyname('totiqty').asinteger>=1 then
begin
pijetsu1:=fieldbyname('totcqty').asinteger;
pijetsu2:=fieldbyname('totiqty').asinteger;
pijetsu3:=(pijetsu1 / pijetsu2)*100;
end;
여기서 두번째 if 문에서 pijetsu1의 값이 699 이고 pijetsu2의 값이 5200 일때
pijetsu3 의 값은 13.442307692..이런식으로 나옵니다.
근데 제가 구하고자 하는 값은 소수점 첫째자리까지입니다..
어떤방법이 있을까요..?
pijetsu3:= StrToFloat(Format('%.1f',[(pijetsu1 / pijetsu2)*100]));
이구여....
쫌 꼰다면....
pijetsu3:= trunc(((pijetsu1 / pijetsu2)*100) * 10) / 10;
정도가 되지 않을까요.....
넘 쉽게봤나?
즐프하셔여....
델초보 wrote:
> 프로그램을 하다보니 몇몇 정정할 부분이 생겨 이렇게 질문을 드립니다.
> 변수는 이렇게 정의 했구요
> pijetsu1 :integer;
> pijetsu2 :integer;
> pijetsu3 :double;
> 프로그램 루핑을 돌리는데.
> if fieldbyname('totiqty').asinteger=0 then
> begin
> pijetsu1:=fieldbyname('totcqty').asinteger;
> pijetsu3:=(pijetsu1 div 1)*100;
> end;
> if fieldbyname('totiqty').asinteger>=1 then
> begin
> pijetsu1:=fieldbyname('totcqty').asinteger;
> pijetsu2:=fieldbyname('totiqty').asinteger;
> pijetsu3:=(pijetsu1 / pijetsu2)*100;
> end;
> 여기서 두번째 if 문에서 pijetsu1의 값이 699 이고 pijetsu2의 값이 5200 일때
> pijetsu3 의 값은 13.442307692..이런식으로 나옵니다.
>
> 근데 제가 구하고자 하는 값은 소수점 첫째자리까지입니다..
> 어떤방법이 있을까요..?
>
>