从Combobox双位数转换为int两位数

时间:2012-04-11 15:43:40

标签: c# int

Min = Convert.ToInt32(cbMin.SelectedItem);

这是我的问题,使用该行从组合框转换为整数变量。现在,如果我从我的下拉菜单中选择“00”或“05”,则该值仅显示为“0”或“5”只有当数字为“0”时才会出现

我错过了什么吗?

PS:顺便说一句,当我设置组合框时,我只使用了侧面的属性部分并填写了集合。只是想确定我把它扔到那里。

3 个答案:

答案 0 :(得分:2)

如果您希望前导零使用字符串

,请不要将值转换为整数
i.ToString("00")

试试这个soltuon会对你有用

最终代码是

string s =(Convert.ToInt32(cbMin.SelectedItem))。ToString(“00”)

修改

如果你用0代表valeu,那么你只需要写

string Min = cbMin.SelectedItem.ToString();

答案 1 :(得分:2)

整数没有前导零。它们是数字数据类型。前导零只能在字符串数据类型中使用。

  • int 0与字符串“0”
  • 不同
  • int 1与字符串“1”
  • 不同

如果需要输出前导0的值,并且从不在数学计算中使用它,则应将其保留为字符串。首先不要将它转换为int。

如果你需要它作为整数进行计算,那么你需要将它转换为int,但是在你需要前导零的地方,格式化它。将其转换回字符串并使用数据格式来获得前导零。

"1".ToString("00")将导致“01”。

"15".ToString("00")将导致“15”。

有关格式化数字数据类型的详细信息,请参阅文档here和自定义数字格式字符串(如上面的示例所示)文档here

答案 2 :(得分:1)

没有意义在 C#中将5整数设为05。但是如果想要一个字符串具有这种格式,你可以这样做:

string Min = Convert.ToInt32(cbMin.SelectedItem).ToString("00");

或者

string Min = String.Format("{0:0#}", Convert.ToInt32(cbMin.SelectedItem));