Q&A

  • 소수점 변환(34.345==>34.34)어떻게 해요
안녕하세요.

계산 결과 값이 34.4576이라면 34.45또는 반올림해서 34.5로 변환해서

라벨에 저장하고 싶은데 round나,trunc하면 정수값만 나오네요..

소수점 아래 몇자리까지 제어하고 싶은데 도움 줏요...

참고로 델4.0입니다..
4  COMMENTS
  • Profile
    이승준 2004.05.27 19:10
    퇴프님 감사..조금 수정해서 사용하니 잘되네요..여러분 고맙습니다..
    roundto는 지원이 안되는거 같네요..

    제가 수정한거 올립니다..퇴프님꺼 수정하는거중에 제일 어려웠던것이 오타네요,,후후

    Function Roundf(float_v : real; DecimicalPoint : Integer) : Real;
    var divi, DP : Integer;
    begin

    DP := DecimicalPoint;
    divi := 1;

    if DP > 0 then for dp:=1 to DP do
      divi := divi * 10;

    Roundf := Round(float_v * divi) / divi;

    end;

    혹시 저보다 모르는분은 없겠지만 더 초보인분 참고하세요..사용법

    저도 아직 초보지만...부끄럽네요..

    roundf(34.567,2);  ==>34.58  //2는 소수점 자리수
  • Profile
    이중철 2004.05.27 10:23
    Roundto(34.345, -2)
    => 34.35

  • Profile
    퇴프 2004.05.27 01:51
    Function Roundf(Float : Integer; DecimicalPoint : Integer) : Real;
    var divi, DP : Integer;
    begin

    DP := DicimicalPoint;
    divi := 1

    if DP > 0 then for 1 to DP do
      divi := divi * 10;

    Roundf := Round(Float * divi) / divi;

    end;

    옛날에 파스칼 연습할때 만들어 본건데 한번도 써본적이 없어서 제대로 돌아가는지도 모르겠습니다. 써보고 고쳐쓰세요 ㅎ_ㅎ;; 제가 round를 처음 접하고 만든거니 당시 실력은 쉽게 알 수 있겠죠 ^-^;; 지금도 비슷하지만 ㅡ,.ㅡ;;  trunc는 round를 trunc로 바꾸면 되겠죠 ^-^


  • Profile
    바보래요 2004.05.26 01:36


    예전에 걍 100 곱해서 반올림해서 100 나누기.......^^;

    그랬게 했었는디...

    해당 함수가 있는지는 잘 모르것네요....

    즐코되서요


    이상 바보였습니다.