如何格式化具有不同小数位数的数字以具有前导零

时间:2015-06-30 14:02:37

标签: vb.net vb6 format

我将vb6中的旧软件迁移到vb.net 我希望能够在数字中添加前导零(但这些数字可能会带有小数位数)

在vb6中,这可以通过以下方式完成:

Format(number, "00000")

在vb.net中,这将转换为

String.Format("{0:D5}", number)

问题是,这只有在变量号是整数...但它不是一个对象

时才有效

有时它是一个整数,另一个是双

是否有模拟VB6行为并使用相同的代码处理整数和双精度?

2 个答案:

答案 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")