Number Format function

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By toxiccrack

Hello,
i wrote an number_format function for gdscript, for everyone who find it useful:

func number_format(val, _decimals = 0, _dec_point = ".", _thousands_sep = ","):
  var number = float(val)

  if(!_dec_point || !_thousands_sep):
    _dec_point = '.';
    _thousands_sep = ',';
  
  var roundedNumber = str(round( abs( number ) * float('1e' + str(_decimals)) ))
  var numbersString = roundedNumber
  var decimalsString = ""
  if(_decimals > 0):
    numbersString = roundedNumber.left(roundedNumber.length()-_decimals)
    decimalsString = roundedNumber.right(roundedNumber.length()-_decimals)
    
  var formattedNumber = ""
  
  while(numbersString.length() > 3):
    formattedNumber += _thousands_sep + numbersString.right(numbersString.length()-3)
    numbersString = numbersString.substr(0, numbersString.length()-3);
  
  var ret = ""
  if(number < 0):
    ret += "-"
  ret += numbersString + formattedNumber
  if(decimalsString != ""):
    ret += (_dec_point + decimalsString)
    
  return ret

Thanks you I really needed this
Does this code still work in the newer godot version I need it for a Little idle game that I’m working on

Mineralwasser | 2022-03-07 23:23