Q&A

  • 실수형에서 소수점 한자리 까지 반올림으로 구하는 것좀
쩝 기초부터 다시하네요.........우엉 ㅠ..ㅠ

실수형에서 소수점 한자리까지만 반올림으로 구하는 내부함수 없나요

3.4688 을 3.5로 바꾸어 주는 방법입니다. 고수님들 ......쩝 오늘만 두번째내..

부탁해요

3  COMMENTS
  • Profile
    이광형 2001.02.10 01:19
    pallas wrote:

    > 쩝 기초부터 다시하네요.........우엉 ㅠ..ㅠ

    > 실수형에서 소수점 한자리까지만 반올림으로 구하는 내부함수 없나요

    > 3.4688 을 3.5로 바꾸어 주는 방법입니다. 고수님들 ......쩝 오늘만 두번째내..

    > 부탁해요



    구냥 formatfloat('###.#',3.4688); 하시면 3.5 값이 나옵니다.

  • Profile
    최용일 2001.02.10 00:43
    안녕하세요. 최용일입니다.



    팁모아란에 있는데...



    function KRound(X : Extended): Int64;

    var

    Temp : Int64;

    begin

    Result := Round(X);

    Temp := Trunc(X);

    if (X - Temp) = 0.5 then

    Result := Temp + 1

    else if (X - Temp) = -0.5 then

    Result := Temp;

    end;



    항상 양의 정수일경우는



    // if x >= 0 ...

    function KRound(X : Extended): Int64;

    begin

    Result := Trunc(X + 0.5);

    end;



    델파이의 Round함수는 수학에서의 Round와는 달리 짝수번째 반올림을 합니다.



    ^^ 항상즐코하세요.



    pallas wrote:

    > 쩝 기초부터 다시하네요.........우엉 ㅠ..ㅠ

    > 실수형에서 소수점 한자리까지만 반올림으로 구하는 내부함수 없나요

    > 3.4688 을 3.5로 바꾸어 주는 방법입니다. 고수님들 ......쩝 오늘만 두번째내..

    > 부탁해요

  • Profile
    초보자 2001.02.10 00:18
    pallas wrote:

    > 쩝 기초부터 다시하네요.........우엉 ㅠ..ㅠ

    > 실수형에서 소수점 한자리까지만 반올림으로 구하는 내부함수 없나요

    > 3.4688 을 3.5로 바꾸어 주는 방법입니다. 고수님들 ......쩝 오늘만 두번째내..

    > 부탁해요



    그런 함수는 잘 모르겠구요..



    전 이렇게 합니다.



    3.4688에 100을 곱합니다. 그럼 346.88이 돼겠죠..



    여기에 Trunc(346.88)를 씁니다. 그럼 346이 돼겠죠..



    여기에 10을 나누면 34.6 여기에 라운드 함수를 쓰면 35가 되고 다시 10을 나누면 돼겠죠...



    라운드 함수를 쓸때에는 0.1을 더하고 라운드를 쓰세요.. 0.5는 반올림쓰면 버려지거든요..0.6부터 올라가기에 그럼 즐프하세요..