我将vb6中的旧软件迁移到vb.net 我希望能够在数字中添加前导零(但这些数字可能会带有小数位数)
在vb6中,这可以通过以下方式完成:
Format(number, "00000")
在vb.net中,这将转换为
String.Format("{0:D5}", number)
问题是,这只有在变量号是整数...但它不是一个对象
时才有效有时它是一个整数,另一个是双
是否有模拟VB6行为并使用相同的代码处理整数和双精度?
答案 0 :(得分:2)
将ToString
方法与适当的格式字符串一起使用。
number.ToString("00000.##")
根据您要显示的小数位数(如果数字有小数位),输入适当数量的#
。
例如:
Dim foo as double = 123456
Dim foo2 as double = 1234.56
Dim foo3 as double = 123.456
Console.WriteLine(foo.ToString("00000000.##"))
Console.WriteLine(foo2.ToString("00000000.##"))
Console.WriteLine(foo3.ToString("00000000.##"))
将导致:
00123456
00001234.56
00000123.46
答案 1 :(得分:0)
因为我不知道十进制案例的数量是否变化......(旧代码)
我找到了这个替代方案:
CDbl(number).ToString().PadLeft(5, "0")