我需要将患者数据库中的字符串转换为int以创建新的患者ID。
在医院数据库中,患者ID是STRING,而不是整数。它的形式是p99。要创建一个新的ID,我需要取出p,转换为整数,加1,如果值小于10则输入0,然后加回p。
我使用的是Microsoft visual studio和C#。 我该怎么做?任何帮助将不胜感激!
答案 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'。