C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[68812] Re:Re:Re:Re:EDIT 표시기능에서 소수점 절사 방법
최남영 [] 1716 읽음    2012-12-14 17:06
팀장님 조언대로 해보니 그방법도 잘 되는군요~~ 감사합니다.

팀장 님이 쓰신 글 :
: 이런 방법도 있습니다.
: float v = -13.23423453254235;
: Form1->Aclr10m11H_MainApaEdt->Text = FormatFloat("##0.00", v);
:
: 최남영 님이 쓰신 글 :
: : 안녕하세요
: : 먼저 감사하다는 말씀을 ~~
: : 4시간의 고민이 해결되었네요^^
: : 감사합니다.
: :
: : 김태선 님이 쓰신 글 :
: : : 일단 float는 정밀도에 문제가 있기 때문에
: : : 특정 자리 밑으로 깔끔하게 끊어 내는게 잘 안됩니다.
: : : 그래서 정밀도가 높고 특정 자리 밑으로 깔금하게 끊어지는 double 로 변환한뒤 자리수 밑으로 끊어내는게 좋습니다.
: : : 방법은 여러가지가 있을 수 있는데
: : : 한가지 예로 아래처럼 처리하시면 쉽게 됩니다.
: : :
: : :     float v = -13.23423453254235;
: : :     Form1->Aclr10m11H_MainApaEdt->Text = (int)((double)v * 100) / 100.0;
: : :
: : : 위 방법은 절사 방법이고
: : : 만일 잘라나가는 자리에서 반올림을 해야 하면
: : : String의 printf 메소드로 %3.2f 로 하면 깔끔하게 됩니다.
: : : 이럴때는 double 로 변환할 필요도 없기 때문에 가장 쉬운 방법이 되겠습니다.
: : :
: : :     float v = -13.23423453254235;
: : :     Form1->Aclr10m11H_MainApaEdt->Text = String().sprintf("%3.2f", v);
: : :
: : :
: : : 최남영 님이 쓰신 글 :
: : : : 안녕하세요
: : : : 통신으로 입력받은 아스키값을 FLOAT형으로 변환하여 EDIT창에 표시한는데 소수점 15자리까지 표시되네요
: : : : 이것을 소수점 2자리까지 표시하고 싶은데 ..도저히 모르겠어요 중간에 sprintf를 사용해서 %3.2f로 스트링 변환해서도 해봤지만
: : : : 안됩니다. 아마도 edit 창의 limit 옵션 설정이 있는것 같은데요.. MaxLength가 있긴 한데 이것은 키보드로 직접 입력시에만 제한이 되네요
: : : : 방법 아시는분 도움 부탁드립니다.
: : : :
: : : :
: : : :
: : : : Aclr10M_Low=(atof( pBuffer ));
: : : : Form1->Aclr10m11H_MainApaEdt->Text=Aclr10M_Low;
: : : :
: : : : 결과: -13.23423453254235
: : : : 원하는값: -13.23

+ -

관련 글 리스트
68807 EDIT 표시기능에서 소수점 절사 방법 최남영 1391 2012/12/14
68808     Re:EDIT 표시기능에서 소수점 절사 방법 김태선 1863 2012/12/14
68813         Re:Re:EDIT 표시기능에서 소수점 절사 방법 최남영 1675 2012/12/14
68809         Re:Re:EDIT 표시기능에서 소수점 절사 방법 최남영 2010 2012/12/14
68810             Re:Re:Re:EDIT 표시기능에서 소수점 절사 방법 팀장 1564 2012/12/14
68812                 Re:Re:Re:Re:EDIT 표시기능에서 소수점 절사 방법 최남영 1716 2012/12/14
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.