2011-09-11 3 views
0

새로운 환자 ID를 만들려면 환자 데이터베이스의 문자열을 int로 변환해야합니다.새로운 환자 ID를위한 Int to String

병원 데이터베이스에서 환자 ID는 정수가 아닌 STRING입니다. 그것은 형식 p99입니다. 새 ID를 만들려면 p를 꺼내 정수로 변환하고 1을 더한 다음 값이 10보다 작 으면 0을 넣은 다음 p를 다시 추가해야합니다.

Microsoft Visual Studio 및 C#을 사용하고 있습니다. 어떻게하면됩니까? 어떤 도움이라도 대단히 감사하겠습니다!

답변

0

int.Parse() (MSDN)을 사용하면 문자열을 정수로 변환 할 수 있습니다.

3

string.Substring 방법과 Int32.TryParse 방법을 사용할 수 있습니다.

String.Substring 법 (INT32)는

인스턴스로부터 문자열을 취득. 부분 문자열은 지정된 문자 위치 인 에서 시작합니다.

Int32.TryParse 방법 (문자열 INT32)이

의 32 비트 숫자의 문자열 표현으로 변환은 정수 당량 서명. 반환 값은 변환 이 성공했는지 여부를 나타냅니다.

string patientId = "p99"; 
int id; 
if (Int32.TryParse(patientId.Substring(1), out id)) 
{ 
    patientId = string.Format("p{0}{1}", id < 10 ? "0" : string.Empty, id); 
    MessageBox.Show("Patient Id : " + patientId); 
} 
else 
{ 
    MessageBox.Show("Error while retrieving the patient id."); 
} 
+0

TryParse의 경우 +1 –

+0

Regex를 사용할 수도 있습니다. –

0

이 작업을 수행하는 간단한 루틴을 작성할 수 있습니다.

항상 앞에 'p'가 있다고 가정하면 sID = sID.substring (1)을 사용하여 첫 번째 문자를 제거 할 수 있습니다. 그런 다음 Int ID = Int16.Parse (sID)를 사용하여 Int (이 경우 16 비트)로 변환 할 수 있습니다. 32 비트가 필요하면 Int32.Parse를 사용하십시오.

그런 다음 ID ++ 또는 ID = ID + 1을 하나씩 증가시킵니다.

다음, 당신은 다음 sID = ID.ToString() 마지막

와 문자열로 다시 변환해야합니다, 길이를 테스트하기 위해 몇 가지 문자열 조작을 추가, 선도 '0'의 경우 길이 = 1, 그리고 선도 'p'.