Skip to content
Groovy 21 – How To format a Number into #,###.##
            String var_value1 = NUMERIC_VALUE
            String var_value
            if (var_value1.contains(".")) 
                var_value = String.valueOf(var_value1)
            else 
                var_value = String.valueOf(var_value1) + ".00"
            
            def var_Index = var_value.indexOf('.')
            String var_decimals = var_value.substring(var_Index, var_value.length())
            def var_NumVal
            if (var_Index < 0)
                var_NumVal = var_value
            else {
                var_NumVal = var_value.substring(0, var_Index)
            }
            def var_NumValLength = var_NumVal.length()
            def var_temporar = 0
            def myArrayList = []
            if (var_NumValLength % 3 != 0)
                var_temporar = var_NumValLength % 3
            if (var_temporar != 0 && var_temporar <= var_NumValLength) {
                myArrayList.add(var_NumVal.substring(0, var_temporar))
            } else {
                myArrayList.add(var_NumVal.substring(0, var_temporar + 3))
                var_temporar = var_temporar + 3
            }
            while (var_temporar < var_NumValLength) {
                myArrayList.add(var_NumVal.substring(var_temporar, var_temporar + 3))
                var_temporar = var_temporar + 3
            }
            String var_result = ""
            for (int i = 0; i < myArrayList.size(); i++) {
                var_result += myArrayList[i] + ','
            }
            def finalNumber = var_result.substring(0, var_result.length() - 1) + var_decimals
            return finalNumber