我需要在用于将数据输入数据库的文本框中保留前导零。它适用于SKU Numbers。我需要能够键入前导零(例如001234567890),然后将它们输入数据库。
然而,我无法弄清楚如何将前导零保持在双倍。我不需要字符串格式,但需要双倍格式。有没有办法在保持数字而不是字符串的同时执行此操作?
EX。
txtProductBarcode.Text = Format(txtProductBarcode.Text, "############")
'This does not work
答案 0 :(得分:1)
使用0
代替#
将导致输出前导零。
例如:
Dim s as string = string.Format("{0:000###}", 12345d)
Console.WriteLine(s)
将输出
012345
请参阅MSDN上的Pad a Number with Leading Zeros。
顺便说一下,不知道为什么你担心保持领先的零而“作为一个双重”。双精度只是一个双倍,显示格式无关紧要。 0123与123相同,否则您应该使用字符串数据类型而不是double。答案 1 :(得分:0)
尝试这是一个。 您可以将整数num转换为double。
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
Dim num As Integer
Dim temp As String = ""
Try
If Regex.IsMatch(TextBox1.Text, "^[0-9 ]+$") Then
num = Integer.Parse(TextBox1.Text)
If num <> 0 then
TextBox1.Text = num.ToString("D6")
temp = num
else
TextBox1.ReadOnly = False
End If
If num.Length = 6 Then
TextBox1.ReadOnly = True
TextBox1.BackColor = Color.White
ElseIf num = 0 Then
TextBox1.ReadOnly = False
End If
TextBox1.SelectionStart = TextBox1.Text.Length
End If
Catch ex As Exception
Msgbox(ex.Message)
End Try
End Sub