Min = Convert.ToInt32(cbMin.SelectedItem);
这是我的问题,使用该行将从combobox转换为整数变量。现在,如果从我的下拉菜单中选择“00”或“05”,该值只会以“0”或“5”出现。它似乎只在数字“0”开始时才会发生。从Combobox双位数转换为int双位数
遗漏了什么? PS:顺便说一句,当我设置组合框时,我只是使用侧边的属性部分,并填写了集合。只是想确保我把它扔在那里。
Min = Convert.ToInt32(cbMin.SelectedItem);
这是我的问题,使用该行将从combobox转换为整数变量。现在,如果从我的下拉菜单中选择“00”或“05”,该值只会以“0”或“5”出现。它似乎只在数字“0”开始时才会发生。从Combobox双位数转换为int双位数
遗漏了什么? PS:顺便说一句,当我设置组合框时,我只是使用侧边的属性部分,并填写了集合。只是想确保我把它扔在那里。
不转换价值整数,如果你想领先的零化妆用字符串
i.ToString("00")
的尝试了这一点soltuon会为你工作
最终代码是
字符串s =(转换。 ToInt32(cbMin.SelectedItem))。ToString(“00”)
编辑
如果你alredy assinged valeu以0比你只需要编写
string Min = cbMin.SelectedItem.ToString();
整数没有前导零。它们是数字数据类型。前导零只能在字符串数据类型中使用。
如果需要输出与领先的0值,从来没有在数学上使用它,你应该保持它作为一个字符串。不要将它首先转换为int。
如果你需要它作为一个整数来进行计算,那么你需要将它转换为int,但是在需要前导零的地方,将其格式化。将其转换回字符串并使用数据格式来获得前导零。
"1".ToString("00")
将导致“01”。
"15".ToString("00")
将导致“15”。
我不知道前导零只能在字符串数据类型中使用。谢谢你的信息! – 2012-04-11 15:56:45
没有意义使整数5
作为05
在C#。但是,如果想要一个字符串有这种格式,你可以这样做:
string Min = Convert.ToInt32(cbMin.SelectedItem).ToString("00");
或者
string Min = String.Format("{0:0#}", Convert.ToInt32(cbMin.SelectedItem));
我很困惑。你是否说*你不希望''05''被转换为'5'?如果不是,你期望什么* – Gabe 2012-04-11 15:47:27
你在'Min'中使用的值是什么?如果你需要的只是数值,那么05 = 005 = 000005 = 5。如果你需要前导0作为显示目的,使用'ToString()'而不是'Convert.ToInt32()'。 – 2012-04-11 15:47:30
到底什么是“int double”数字?你偶然意味着一个整数的双倍数? – 2012-04-11 15:50:48