Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
DisplayFormat을 이용해서 숫자의 일정 자리만큼만 표시할 수 있나요?
예를 들어, 데이터가
129,999,999
일때,
129,999
이렇게 표시할 수 있는가 해서요.
조언부탁드립니다.
5
COMMENTS
홍성락
•
2001.11.09 04:44
훈 wrote:
> 예를 들어, 데이터가
> 129,999,999
> 일때,
> 129,999
> 이렇게 표시할 수 있는가 해서요.
>
> 조언부탁드립니다.
///////////////////////////////////////////
혹시 단위에 따라 절사값을 표시하려는지요?
돈으로 하겠습니다
129,999,999원을 129,999천원이라할때
procedure TForm1.Button6Click(Sender: TObject);
var
s, t : integer;
str : string;
begin
str := '129,999,999';
str := StringReplace(str, ',', '', [rfReplaceAll]); //문자에서 ,를 삭제
//Trunc는 절사, Round를 쓰시면 반올립됩니다
Edit1.Text := FormatFloat('#,##0', Trunc(StrToFloat(str)/1000));
end;
0
0
삭제
수정
댓글
훈
•
2001.11.09 18:58
님의 말씀대로, 단위에 따라 절사를 하려고 하는 것이나.
절사에 따른 반올림에 대한 차이로 인해,
최종 데이터에서 값이 일단위 하가 상당히 납니다.
일단위의 값이 4일 것이 5가되거나, 3이 되듯, 작은 차이가 아니라.
2가 될것이 9가 되기도 하고, 게다가 단위가 억단위이면, 숫자는 7의 오차가 있지만,
금액은 7억이 차이가 나는 것이지요.
이런 현상은 제가 여러데이터를 억단위로 구하고(각각의 값도 보여줘야 하기 때문에),
그 금액의 합계를 구하게 되어 각각의 값에 1씩의 오차가, 합계에서는 8또는 9정도의 오차가 생긴다는 것이지요.
성락님의 말씀대로라면,
Edit 혹은 DBEdit에 Display할 때마다 함수를 하나 만들어서 사용해야 한다는 것인데...
그것도 생각해봤지만, 코드가 깔끔하지 못한 것 같아서..
DisplayFormat으로는 안되는가요?
-_-;
홍성락 wrote:
> 훈 wrote:
> > 예를 들어, 데이터가
> > 129,999,999
> > 일때,
> > 129,999
> > 이렇게 표시할 수 있는가 해서요.
> >
> > 조언부탁드립니다.
> ///////////////////////////////////////////
> 혹시 단위에 따라 절사값을 표시하려는지요?
> 돈으로 하겠습니다
> 129,999,999원을 129,999천원이라할때
> procedure TForm1.Button6Click(Sender: TObject);
> var
> s, t : integer;
> str : string;
> begin
> str := '129,999,999';
> str := StringReplace(str, ',', '', [rfReplaceAll]); //문자에서 ,를 삭제
> //Trunc는 절사, Round를 쓰시면 반올립됩니다
> Edit1.Text := FormatFloat('#,##0', Trunc(StrToFloat(str)/1000));
> end;
0
0
삭제
수정
댓글
잘난체...
•
2001.11.09 19:10
훈 wrote:
최종 데이터에서 값이 일단위 하가 상당히 납니다.
<답변>
표기만 천단위로 하고 싶으신것 같군요...
앞에 분의 답변 소스를 잘 참조 하셔서....
훈씨께서 각각의 데이타를 그때 마다 절사해서 그것을로 합을 하면...
최종에가서는 큰 차이가 있지요....
절사해서 디스플레이하고 , 값은 절사안한값으로 합산을 낸뒤에 최종천단위 절사를
해야 하지 않을 까요?
> 님의 말씀대로, 단위에 따라 절사를 하려고 하는 것이나.
> 절사에 따른 반올림에 대한 차이로 인해,
>
일단위의 값이 4일 것이 5가되거나, 3이 되듯, 작은 차이가 아니라.
> 2가 될것이 9가 되기도 하고, 게다가 단위가 억단위이면, 숫자는 7의 오차가 있지만,
> 금액은 7억이 차이가 나는 것이지요.
> 이런 현상은 제가 여러데이터를 억단위로 구하고(각각의 값도 보여줘야 하기 때문에),
> 그 금액의 합계를 구하게 되어 각각의 값에 1씩의 오차가, 합계에서는 8또는 9정도의 오차가 생긴다는 것이지요.
>
> 성락님의 말씀대로라면,
> Edit 혹은 DBEdit에 Display할 때마다 함수를 하나 만들어서 사용해야 한다는 것인데...
> 그것도 생각해봤지만, 코드가 깔끔하지 못한 것 같아서..
>
> DisplayFormat으로는 안되는가요?
>
> -_-;
>
> 홍성락 wrote:
> > 훈 wrote:
> > > 예를 들어, 데이터가
> > > 129,999,999
> > > 일때,
> > > 129,999
> > > 이렇게 표시할 수 있는가 해서요.
> > >
> > > 조언부탁드립니다.
> > ///////////////////////////////////////////
> > 혹시 단위에 따라 절사값을 표시하려는지요?
> > 돈으로 하겠습니다
> > 129,999,999원을 129,999천원이라할때
> > procedure TForm1.Button6Click(Sender: TObject);
> > var
> > s, t : integer;
> > str : string;
> > begin
> > str := '129,999,999';
> > str := StringReplace(str, ',', '', [rfReplaceAll]); //문자에서 ,를 삭제
> > //Trunc는 절사, Round를 쓰시면 반올립됩니다
> > Edit1.Text := FormatFloat('#,##0', Trunc(StrToFloat(str)/1000));
> > end;
0
0
삭제
수정
댓글
탁발승
•
2001.11.09 05:55
"#,##0" 요 부분이 의미하는 바는 무엇인가염?
궁금해서리....^^;
trunc가 쓰였으니 첫째자리에서 절사하라는 건가염....?
그럼 소수 둘째짜리는 어떤 식으로 하나염?
#문자를 조합해 쓰는 규칙이 궁금하네염....
답변 부탁드립니다.
아직 먼길을 걷는 땡초.....올림...
홍성락 wrote:
> 훈 wrote:
> > 예를 들어, 데이터가
> > 129,999,999
> > 일때,
> > 129,999
> > 이렇게 표시할 수 있는가 해서요.
> >
> > 조언부탁드립니다.
> ///////////////////////////////////////////
> 혹시 단위에 따라 절사값을 표시하려는지요?
> 돈으로 하겠습니다
> 129,999,999원을 129,999천원이라할때
> procedure TForm1.Button6Click(Sender: TObject);
> var
> s, t : integer;
> str : string;
> begin
> str := '129,999,999';
> str := StringReplace(str, ',', '', [rfReplaceAll]); //문자에서 ,를 삭제
> //Trunc는 절사, Round를 쓰시면 반올립됩니다
> Edit1.Text := FormatFloat('#,##0', Trunc(StrToFloat(str)/1000));
> end;
0
0
삭제
수정
댓글
홍성락
•
2001.11.09 06:13
탁발승 wrote:
> "#,##0" 요 부분이 의미하는 바는 무엇인가염?
> 궁금해서리....^^;
> trunc가 쓰였으니 첫째자리에서 절사하라는 건가염....?
> 그럼 소수 둘째짜리는 어떤 식으로 하나염?
> #문자를 조합해 쓰는 규칙이 궁금하네염....
> 답변 부탁드립니다.
> 아직 먼길을 걷는 땡초.....올림...
/////////////////////////////////////////////////////////////////////////////////
"#,##0" 요 포멧문자로 조합된 기호이고요, 여러함수에서 사용하므로 익혀놓으시면 좋습니다.
근데 델파이헬프파일에 보시면 아주잘나오는데요. 제가 설명을 길게해보 헬프보시면 이해가 빠르답니다.
아주간단히 #는 값이0이나 없으면 공백처리
0은 값이 없거나 0값이면 그자리만큼 0으로 채우기
,는 3자리마다 표시하라고 뒤에서 4번째 쓴겁니다.
(FormatFloat앞에 커서놓고 F1키누른후보시구요 예제버튼도 눌러보세요)
trunc함수는 무조건 소숫점이하는 절사하라는겁니다.
따라서
A := 123.456 일때(소숫점입니다)
trunc(A*10) => 1234
trunc(A*10)/10 => 123.4
trunc(A*100)/100 => 123.45
trunc(A*1000)/1000 => 123.456
###############################################################################
> 홍성락 wrote:
> > 훈 wrote:
> > > 예를 들어, 데이터가
> > > 129,999,999
> > > 일때,
> > > 129,999
> > > 이렇게 표시할 수 있는가 해서요.
> > >
> > > 조언부탁드립니다.
> > ///////////////////////////////////////////
> > 혹시 단위에 따라 절사값을 표시하려는지요?
> > 돈으로 하겠습니다
> > 129,999,999원을 129,999천원이라할때
> > procedure TForm1.Button6Click(Sender: TObject);
> > var
> > s, t : integer;
> > str : string;
> > begin
> > str := '129,999,999';
> > str := StringReplace(str, ',', '', [rfReplaceAll]); //문자에서 ,를 삭제
> > //Trunc는 절사, Round를 쓰시면 반올립됩니다
> > Edit1.Text := FormatFloat('#,##0', Trunc(StrToFloat(str)/1000));
> > end;
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
델초보
2001.11.09 19:48
0
COMMENTS
/
0
LIKES
zeos를 이용해서 mysql을 사용하려 하는데
왕초보
2001.11.09 19:45
0
COMMENTS
/
0
LIKES
Variants.dcu 에 대해서 질문입니다
초오오오~보
•
2001.11.09 19:42
1
COMMENTS
/
0
LIKES
key press
깨구락지
•
2001.11.09 21:54
> 그리고 중복되는 이벤트를 따로 빼서 그냥 상속(맞나?) 받아 쓰려면 > > 어디다 어떻게 정의를 해햐하...
이지인
•
2001.11.09 19:19
4
COMMENTS
/
0
LIKES
쿼리 결과를 파일로 저장??
깨구락지
•
2001.11.09 19:45
어떤결과를 말씀하시는건가요? 디비그리드의 내용을 말씀하시는지,아니면 쿼리문 자체를 말씀하시는지 구...
이지인
•
2001.11.09 23:19
깨구락지 wrote: > 어떤결과를 말씀하시는건가요? > 디비그리드의 내용을 말씀하시는지,아니면 쿼리문 자...
깨구락지
•
2001.11.10 01:36
검색후 다른 테이블로의 저장을 말씀하십니까? 아니면 데이타셋의 수정/삭제를 말씀하십니까? 것두 아...
이지인
•
2001.11.10 04:05
ㅡㅡ 됐어요! 깨구락지 wrote: > 검색후 다른 테이블로의 저장을 말씀하십니까? > 아니면 데이타셋의...
김태환
2001.11.09 19:09
0
COMMENTS
/
0
LIKES
델파이 3.0에서 코딩했던 정형파일이 안읽어 집니다...
나지영
2001.11.09 18:59
0
COMMENTS
/
0
LIKES
버젼 관련 함수를 공부하다가요..^^
손동섭
2001.11.09 18:43
0
COMMENTS
/
0
LIKES
OCI.DLL이...
한대성
•
2001.11.09 18:39
2
COMMENTS
/
0
LIKES
SQL문 이용해서 Memo Field에값을 넣으려면?
나두초보~~
•
2001.11.09 19:14
요렇게 해 보시죠.. ^_^;; 아마 될것입니다. 쿼리문.. insert into a (b) values (:b) with query do ...
한대성
•
2001.11.10 04:48
정말 감사합니다.. 님 덕분에 쉽게 마무리 할 수 있었습니다. 간단한 문제를 참 어렵게 생각했던것 갔...
*처버*
•
2001.11.09 18:35
1
COMMENTS
/
0
LIKES
MySql 윈도용을 받아서 설치는 했는데...
점시기
•
2001.11.10 02:51
설치를 하셨으면.. 도스창을 열구요.. mysqlbin 으로 이동합니다. (기본으로 설치 하셨다면 c:mysqlbin)...
우리들
2001.11.09 10:50
0
COMMENTS
/
0
LIKES
네트웍 재연결 방법좀 알려주세요
mando
•
2001.11.09 07:13
1
COMMENTS
/
0
LIKES
access db가 커지기만 해요.
왕초보
•
2001.11.09 19:54
타락님은 글을 우연히 보게 되어서 이렇게 글을 올립니다. 도움이 되셨으면 좋겠습니다. //=========...
델파이헬프
•
2001.11.09 06:44
1
COMMENTS
/
0
LIKES
MYSQL 에 접속할때 IP로 접속할수있는지?
동급최강바보
•
2001.11.09 18:24
www.mysql.com에 가시면 Download>Win32에 MyOleDB.ece파일이 있습니다. 그걸 설치하시고 델파이를 다시 ...
털털이
•
2001.11.09 06:02
1
COMMENTS
/
0
LIKES
VC++ dll 에서 리턴받은 값에서 에러가 생겨요.
stein
•
2001.11.10 18:39
털털이 wrote: > VC++로 만든 dll에서 델파이 어플리케이션의 callback 함수로 리턴값을 주는데 어플리케...
델초보*규리*
•
2001.11.09 05:50
2
COMMENTS
/
0
LIKES
폼의 배경 꾸미기를 하려고하는데.
잘난체...
•
2001.11.09 19:02
쩝..우선..지금 중요한건 폼을 만들었는데요 거기에 디자인한것을 입혀야하거든요 아이콘도 전부 제작...
사발우성
•
2001.11.09 18:36
델초보*규리* wrote: > 다운로드 프로그램같은것을 만드는데요. > 델파이 시작한지 얼마안되어서 이런걸 ...
호발이
2001.11.09 05:19
0
COMMENTS
/
0
LIKES
[급질문] Access violation Error
bingyou
2001.11.09 20:15
0
COMMENTS
/
0
LIKES
No MDI forms are currently active...미치겠네요 !
초보자
•
2001.11.09 03:06
2
COMMENTS
/
0
LIKES
특정날짜에 몇일을 더하는 함수를 아시는 분...
이성훈
•
2001.11.09 04:33
초보자 wrote: > 스트링값 '20010101' 에서 50일 을 더한 날짜를 알고 싶은데 함수가 생각나지 않네요. >...
홍성락
•
2001.11.09 04:30
초보자 wrote: > 스트링값 '20010101' 에서 50일 을 더한 날짜를 알고 싶은데 함수가 생각나지 않네요. >...
훈
•
2001.11.09 02:22
5
COMMENTS
/
0
LIKES
DisplayFormat을 이용해서 숫자의 일정 자리만큼만 표시할 수 있나요?
예를 들어, 데이터가 129,999,999 일때, 129,999 이렇게 표시할 수 있는가 해서요. 조언부탁드립니다.
홍성락
•
2001.11.09 04:44
훈 wrote: > 예를 들어, 데이터가 > 129,999,999 > 일때, > 129,999 > 이렇게 표시할 수 있는가 해서...
훈
•
2001.11.09 18:58
님의 말씀대로, 단위에 따라 절사를 하려고 하는 것이나. 절사에 따른 반올림에 대한 차이로 인해, 최종 ...
잘난체...
•
2001.11.09 19:10
훈 wrote: 최종 데이터에서 값이 일단위 하가 상당히 납니다. 표기만 천단위로 하고 싶으...
탁발승
•
2001.11.09 05:55
"#,##0" 요 부분이 의미하는 바는 무엇인가염? 궁금해서리....^^; trunc가 쓰였으니 첫째자리에서 절사하...
홍성락
•
2001.11.09 06:13
탁발승 wrote: > "#,##0" 요 부분이 의미하는 바는 무엇인가염? > 궁금해서리....^^; > trunc가 쓰였으...
궁구미
2001.11.09 02:30
0
COMMENTS
/
0
LIKES
혹시 PC에서 터미널서버 억세스 방법 알고계신분??
무지급해여
2001.11.09 01:54
0
COMMENTS
/
0
LIKES
퀵리포트에 대한 질문 입니다.
훈
2001/11/09 02:22
Views
344
Likes
0
Comments
5
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
> 예를 들어, 데이터가
> 129,999,999
> 일때,
> 129,999
> 이렇게 표시할 수 있는가 해서요.
>
> 조언부탁드립니다.
///////////////////////////////////////////
혹시 단위에 따라 절사값을 표시하려는지요?
돈으로 하겠습니다
129,999,999원을 129,999천원이라할때
procedure TForm1.Button6Click(Sender: TObject);
var
s, t : integer;
str : string;
begin
str := '129,999,999';
str := StringReplace(str, ',', '', [rfReplaceAll]); //문자에서 ,를 삭제
//Trunc는 절사, Round를 쓰시면 반올립됩니다
Edit1.Text := FormatFloat('#,##0', Trunc(StrToFloat(str)/1000));
end;