String to Int для нового идентификатора пациента - PullRequest
0 голосов
/ 12 сентября 2011

Мне нужно преобразовать строку в базе данных пациентов в целое число, чтобы создать новый идентификатор пациента.

В базе данных больницы идентификатор пациента - это STRING, а не целое число.Это имеет форму p99.Чтобы создать новый идентификатор, мне нужно вынуть p, преобразовать в целое число, добавить 1, затем положить 0, если значение меньше 10, а затем добавить обратно.

Я используюMicrosoft visual studio и C #.Как бы я пошел по этому поводу?Любая помощь будет принята с благодарностью!

Ответы [ 3 ]

3 голосов
/ 12 сентября 2011

Вы можете использовать string.Substring Метод и Int32.TryParse метод.

Метод String.Substring (Int32)

Извлекает подстроку из этого экземпляра. Подстрока начинается с указанная позиция символа.

Метод Int32.TryParse (String, 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 голосов
/ 12 сентября 2011

Вы можете написать простую подпрограмму, чтобы сделать это.

Предполагая, что всегда есть ведущий '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'.

0 голосов
/ 12 сентября 2011

Вы можете использовать int.Parse() ( MSDN ) для преобразования строки в целое число.

...