10

I am writing some code in Visual Basic.net and have a question.

If I have a long number, that is larger than 1000, how can I format this value to be 1,000 (with a comma) and for this to be stored in a string?

For e.g.

1234 will be stored as 1,234 12345 will be stored as 12,345 123456 will be stored as 123,456

Is this done with a TryParse statement?

May I have some help to so this?

Simon
  • 351
  • 3
  • 8
  • 16
  • 1
    possible duplicate of [.NET String.Format() to add commas in thousands place for a number](http://stackoverflow.com/questions/105770/net-string-format-to-add-commas-in-thousands-place-for-a-number) – Patrick McDonald Nov 15 '13 at 11:15

3 Answers3

28

Take a look at The Numeric ("N") Format Specifier

General use:

Dim dblValue As Double = -12445.6789
Console.WriteLine(dblValue.ToString("N", CultureInfo.InvariantCulture))
' Displays -12,445.68

If you are only using integers then the following:

Dim numberString As String = 1234.ToString("N0")

Will show numberString = "1,234" as the "N0" format will not add any figures after a decimal point.

Ric
  • 12,855
  • 3
  • 30
  • 36
2

For those wanting to do a currency with commas and decimals use the following: .ToString("$0,00.00")

1

Using $ notation:

int myvar = 12345;    
Console.WriteLine($"Here is my number: {myvar:N0}");
Denis
  • 11,796
  • 16
  • 88
  • 150