Min = Convert.ToInt32(cbMin.SelectedItem);
这是我的问题,使用该行将组合框转换为整数变量。现在,如果我从下拉列表中选择“00”或“05”,则该值仅显示为“0”或“5”它似乎仅在数字以“0”开头时发生
我错过了什么吗?
PS:顺便说一句,当我设置组合框时,我只是使用侧面的属性部分并填写了集合。只是想确定我把它扔在那里。
如果要前导零使用字符串,请不要将值转换为整数
i.ToString("00")
试试这个解决方案会为你工作
最终代码是
字符串 s = (Convert.ToInt32(cbMin.SelectedItem)).ToString("00")
编辑
如果你已经用 0 分配了 valeu ,那么你只需要写
string Min = cbMin.SelectedItem.ToString();
整数没有前导零。它们是数字数据类型。前导零只能在字符串数据类型中使用。
如果您需要输出带有前导 0 的值,并且从不在数学计算中使用它,则应将其保留为字符串。首先不要将其转换为 int 。
如果需要将其作为整数进行计算,则需要将其转换为 int,但在需要前导零的地方,请对其进行格式化。将其转换回字符串并使用数据格式获取前导零。
"1".ToString("00")
将导致“01”。
"15".ToString("00")
将导致“15”。
5
像05
在C#中那样制作整数是没有意义的。但是如果想要一个字符串有这种格式,你可以这样做:
string Min = Convert.ToInt32(cbMin.SelectedItem).ToString("00");
或者
string Min = String.Format("{0:0#}", Convert.ToInt32(cbMin.SelectedItem));