Format Numbers in AutoHotkey with Commas

Just a quick note as I use this function in various scripts. This adds the 1000th separator comma:

copyraw
ValueWithCommas:=FormatAddCommas(NumberWithoutCommas)
  1.  ValueWithCommas:=FormatAddCommas(NumberWithoutCommas) 
Use as per usual:
copyraw
AddCommas(val)
	{
	  val:= RegExReplace(val, "(\d)(?=(?:\d{3})+(?:\.|$))", "$1,")
	  Return val
 	}
  1.  AddCommas(val) 
  2.      { 
  3.        val:RegExReplace(val, "(\d)(?=(?:\d{3})+(?:\.|$))", "$1,") 
  4.        Return val 
  5.       } 


One taken from the AutoHotkey forums:
copyraw
AddCommas(val)
	{
	  val:= RegExReplace(val, "(?(?
  1.  AddCommas(val) 
  2.      { 
  3.        val:RegExReplace(val, "(?(

Another not tested:
copyraw
CommaAdd(num) {

  VarSetCapacity(fNum,32)
  DllCall("GetNumberFormat",UInt,0x0409,UInt,0,Str,Num,UInt,0,Str,fNum,Int,32)
  return SubStr(fNum,1,StrLen(fNum) - 3)

}
  1.  CommaAdd(num) { 
  2.   
  3.    VarSetCapacity(fNum,32) 
  4.    DllCall("GetNumberFormat",UInt,0x0409,UInt,0,Str,Num,UInt,0,Str,fNum,Int,32) 
  5.    return SubStr(fNum,1,StrLen(fNum) - 3) 
  6.   
  7.  } 

And finally PhiLho's:
CommaAdd(num) {

  VarSetCapacity(fNum,32)
  DllCall("GetNumberFormat",UInt,0x0409,UInt,0,Str,Num,UInt,0,Str,fNum,Int,32)
  return SubStr(fNum,1,StrLen(fNum) - 3)

}
Category: AutoHotkey :: Article: 383

Add comment

Your rating:

Submit

Credit where Credit is Due:


Feel free to copy, redistribute and share this information. All that we ask is that you attribute credit and possibly even a link back to this website as it really helps in our search engine rankings.

Disclaimer: Please note that the information provided on this website is intended for informational purposes only and does not represent a warranty. The opinions expressed are those of the author only. We recommend testing any solutions in a development environment before implementing them in production. The articles are based on our good faith efforts and were current at the time of writing, reflecting our practical experience in a commercial setting.

Thank you for visiting and, as always, we hope this website was of some use to you!

Kind Regards,

Joel Lipman
www.joellipman.com

Please publish modules in offcanvas position.