Q&A

  • 질문: 원하는 만큼의 소수점반올림
변수의 값을 원하는 소숫점자리수 만큼 반올림하는 공식을 가르쳐 주세요.

Round는 소숫점 첫자리만 되는데 두째짜리 세째자리......원하는 만큼 되게

하는 공식을 부탁드립니다.

급합니다.





1  COMMENTS
  • Profile
    글쎄요 1999.07.15 21:35
    김민오 께서 말씀하시기를...

    > 변수의 값을 원하는 소숫점자리수 만큼 반올림하는 공식을 가르쳐 주세요.

    > Round는 소숫점 첫자리만 되는데 두째짜리 세째자리......원하는 만큼 되게

    > 하는 공식을 부탁드립니다.

    > 급합니다.

    ///////

    음... 일단 round함수자체에 문제점이 있어서 먼저 round함수를 다음과 같이

    바꾸시고



    function RoundUp( X: Extended ): Extended;

    begin

    Result := Trunc(X) + Trunc(Frac(X) * 2);

    end;



    그 다음에 이 함수를 사용해 보셔요.

    여기서 i는 원하는 소수점 자리수입니다.

    uses절에 Math를 포함시켜야 합니다. 그럼...



    function RoundUp2( X: Extended; i: integer ): Extended;

    var

    l : integer;

    begin

    i := i - 1;

    l := Trunc( Power( 10, i ) );

    Result := RoundUp( l * X )/l;

    end;