我需要在将用于将数据输入数据库的文本框中保持前导零。它适用于 SKU 编号。我需要能够输入前导零(例如 001234567890),然后将它们输入数据库。
但是我不知道如何将前导零保持在双精度中。我不需要字符串格式,而是双精度。有没有办法在保持数字而不是字符串的同时做到这一点?
前任。
txtProductBarcode.Text = Format(txtProductBarcode.Text, "############")
'This does not work
使用0
代替#
将导致输出前导零。
例如:
Dim s as string = string.Format("{0:000###}", 12345d)
Console.WriteLine(s)
将输出
012345
请参阅MSDN 上的用前导零填充数字。
顺便说一句,不知道你为什么担心在“双倍”时保留前导零。double 只是一个 double,显示格式无关紧要。0123 与 123 相同,否则您应该使用字符串数据类型而不是双精度。
Try this is one. You can convert the integer num to 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