Tip: Nice number formatting

Share your advanced PureBasic knowledge/code with the community.
BackupUser
PureBasic Guru
PureBasic Guru
Posts: 16777133
Joined: Tue Apr 22, 2003 7:42 pm

Tip: Nice number formatting

Post by BackupUser »

Code updated for 5.20+

Restored from previous forum. Originally posted by PB.

This takes a whole (non-float) number and formats it into thousands-separated,
if you know what I mean? Check it out.

Code: Select all

Procedure.s NiceNumber(number, sep$)
  Dim i$(9) : a$ = Str(number)
  While Len(a$) > 3
    i= i + 1 : i$(i) = Right(a$, 3)
    a$ = Left(a$, Len(a$) - 3)
  Wend
  i = i + 1 : i$(i) = a$
  For r = i To 1 Step -1
    b$ = b$ + i$(r) + sep$
  Next
  ProcedureReturn Left(b$, Len(b$) - 1)
EndProcedure

n$ = NiceNumber(123," ") : Debug n$         ;n$ = 123
n$ = NiceNumber(1234," ") : Debug n$        ;n$ = 1 234
n$ = NiceNumber(123456789,",") : Debug n$   ;n$ = 123,456,789
PB - Registered PureBasic Coder

Edited by - PB on 28 March 2002 10:52:34