Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Add 1 zero in front of a number if 5 digits but if 6 digits stay as it is

Posted on 2016-08-31
4
Medium Priority
?
51 Views
Last Modified: 2016-08-31
I want to add 1 zero in front of 5 digit numbers but no need to add if there are 6 digit numbers in  VB.net 2010.


Example:

12258 into 012258
400488 into 400488

Thank you for your help.
0
Comment
Question by:Queennie L
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
4 Comments
 
LVL 66

Expert Comment

by:Jim Horn
ID: 41778611
The SQL Server T-SQL answer would be...
SELECT RIGHT('00000' + CAST(your_number as varchar(10)), 6) 

Open in new window

This requires converting the number to a character data type, as numbers do not support leading zeros.
0
 
LVL 70

Accepted Solution

by:
Éric Moreau earned 2000 total points
ID: 41778620
if you want to do it in VB, you can use PadLeft (https://msdn.microsoft.com/en-us/library/92h5dc07(v=vs.110).aspx?cs-save-lang=1&cs-lang=vb#code-snippet-2):
dim x as string = "12258"
x = x.PadLeft(6, "0")

Open in new window

0
 

Author Closing Comment

by:Queennie L
ID: 41778641
Thank you. It worked.
0
 
LVL 34

Expert Comment

by:it_saige
ID: 41778660
Expanding on what Eric has stated, another way, if you are dealing with numerics specifically, is to use the ToString method with a custom format specified; e.g. -
Module Module1
	Sub Main()
		Dim values = {1, 12, 123, 1234, 12345, 123456, 1234567, 12345678, 123456789}
		Console.WriteLine("Padding zeros -")
		For Each value In values
			Console.WriteLine(value.ToString(String.Format("D{0}", values.Max().ToString().Length())))
		Next
		Console.ReadLine()
	End Sub
End Module

Open in new window

Which produces the following output -Capture.JPGSo for your specific case you could simply use:
Dim value = 12258
Console.WriteLine(value.ToString("D6"))
'' Output will be
'' 012258

Open in new window


Proof of concept -
Module Module1
	Sub Main()
		Dim value = 12258
		Console.WriteLine(value.ToString("D6"))
		Console.ReadLine()
	End Sub
End Module

Open in new window

Output -Capture.JPG
-saige-
1

Featured Post

Important Lessons on Recovering from Petya

In their most recent webinar, Skyport Systems explores ways to isolate and protect critical databases to keep the core of your company safe from harm.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In this article I will describe the Backup & Restore method as one possible migration process and I will add the extra tasks needed for an upgrade when and where is applied so it will cover all.
How to leverage one TLS certificate to encrypt Microsoft SQL traffic and Remote Desktop Services, versus creating multiple tickets for the same server.
Add bar graphs to Access queries using Unicode block characters. Graphs appear on every record in the color you want. Give life to numbers. Hopes this gives you ideas on visualizing your data in new ways ~ Create a calculated field in a query: …
In this video, Percona Solution Engineer Rick Golba discuss how (and why) you implement high availability in a database environment. To discuss how Percona Consulting can help with your design and architecture needs for your database and infrastr…

660 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question