用于新患者ID的字符串到Int

时间:2011-09-11 22:35:49

标签: c# .net visual-studio string visual-studio-2010

我需要将患者数据库中的字符串转换为int以创建新的患者ID。

在医院数据库中,患者ID是STRING,而不是整数。它的形式是p99。要创建一个新的ID,我需要取出p,转换为整数,加1,如果值小于10则输入0,然后加回p。

我使用的是Microsoft visual studio和C#。 我该怎么做?任何帮助将不胜感激!

3 个答案:

答案 0 :(得分:3)

您可以使用string.Substring方法和Int32.TryParse方法。

String.Substring方法(Int32)

  

从此实例中检索子字符串。子串从a开始   指定的角色位置。

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.");
}

答案 1 :(得分:0)

您可以使用int.Parse()MSDN)将字符串转换为整数。

答案 2 :(得分:0)

您可以编写一个简单的例程来执行此操作。

假设总是有一个前导'p'你可以做sID = sID.substring(1)来删除第一个字符。 然后,您可以使用Int ID = Int16.Parse(sID)转换为Int(在本例中为16位)。如果需要32位,请使用Int32.Parse

然后ID ++或ID = ID + 1加1。

接下来,您需要转换回sID = ID.ToString()

的字符串

最后,做一些字符串操作来测试长度,如果length = 1,则添加前导'0',前导'p'。