|
String은 배열로 접근가능합니다.
숫자로만 되어있다고 한다면 ASCII값이 0x30 에서 0x39까지 값이 됩니다.
그러므로 그냥 배열로 한자리씩 접근해서 모두 더해도 됩니다.
===================================================
String str=Edit1->Text;
int sum=0;
for (int i=1;i<=str.Length();i++)
{
sum=sum+str[i]-0x30;
}
int chksum=sum%10; //체크썸
===================================================
String str=Edit1->Text;
int sum=0;
for (int i=1;i<=str.Length();i++)
{
sum=sum+str[i];
}
sum=sum - 0x30 * str.Length() ;
//또는 sum=sum - 48 * str.Length() ; //==> 0x30이 십진수로는 16 * 3 = 48 이 됨으로..
int chksum=sum%10; //체크썸
===================================================
새내기 님이 쓰신 글 :
: 안녕하세요?
:
: Edit1 에 '12345678901234' 값이 들어 있는데요,
: 이 값들을 한자리씩 끊어서 숫자로 변환해서 sum 을 내고,
:
: sum의 끝자리를 checksum 으로 사용하려 하는데 잘안되네요..
:
: 고수님들 부탁 드립니다.
|