0

我需要在将用于将数据输入数据库的文本框中保持前导零。它适用于 SKU 编号。我需要能够输入前导零(例如 001234567890),然后将它们输入数据库。

但是我不知道如何将前导零保持在双精度中。我不需要字符串格式,而是双精度。有没有办法在保持数字而不是字符串的同时做到这一点?

前任。

txtProductBarcode.Text = Format(txtProductBarcode.Text, "############")
'This does not work
4

2 回答 2

1

使用0代替#将导致输出前导零。

例如:

Dim s as string = string.Format("{0:000###}", 12345d)
Console.WriteLine(s)

将输出

012345

请参阅MSDN 上的用前导零填充数字。

顺便说一句,不知道你为什么担心在“双倍”时保留前导零。double 只是一个 double,显示格式无关紧要。0123 与 123 相同,否则您应该使用字符串数据类型而不是双精度。

于 2012-09-26T00:08:51.570 回答
0

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
于 2018-05-26T05:50:11.643 回答