|
아래 함수를 사용해 보세요. 델파이 쓸때 만든건데.. 급히 바꾸느라 문제가 있을지 모르겠네요.
// 콤마 금액을 숫자로
int __fastcall TForm1::PayStrToInt(String stString)
{
String stNumber = "";
int itTemp;
for(itTemp = 0; itTemp < stString.Length(); itTemp ++)
if(stString.c_str()[itTemp] != ',')
stNumber = stNumber + stString.c_str()[itTemp];
try {
return(stNumber.ToInt());
} catch(...) {
return(0);
}
}
// 숫자를 콤마 금액으로
String __fastcall TForm1::IntToPayStr(int itNumber)
{
bool blMinus = false;
String stString, stPayString = "";
if(itNumber < 0) {
itNumber = abs(itNumber);
blMinus = true;
}
stString = IntToStr(itNumber);
do {
if(!stPayString.IsEmpty()) stPayString = "," + stPayString;
stPayString =
stString.SubString(stString.Length() - 2 < 1 ? 1 : stString.Length() - 2, 3) +
stPayString;
stString = stString.SubString(1, stString.Length() - 3);
} while(!stString.IsEmpty());
if(blMinus) stPayString = "-" + stPayString;
return(stPayString);
}
파워프리 님이 쓰신 글 :
: 안녕하세요 고수님,...
:
: 금액을 처리하다보면 숫자,콤마 콤포넌트가 필요합니다.
:
: Numedit.pas 를 콤포넌트에 추가해서 사용하면 Error가 발생합니다.
:
: C++ Builder 고수님들 부탁합니다.
:
: 사용 가능한 내용과 방법좀 가르쳐주세요.
:
: 즐거운 하루되세요.
:
: --------------------
: 예: 123,456
: 23,000
: 12,550,000
: --------------------
: 감사합니다.
:
:
:
|