Created this for a project I almost finished. It had the European part of this code in it like 20 times. Thought a UDF would be nicer. All comments are welcome. In the end I might post it in the UDF section. It can probably be golfed a bit. Golfed versions are also welcome.

$input is the stuff to apply digit grouping to.
$system is 1 for European system (grouping using .) en 2 for US system (grouping using ,)
Currently it takes an input value of max 9999999999.

Code:

Function DigitGrouping($input,$system)
If $input = ""
Exit 13
EndIf
If Len ($input) > 10
Exit 13
EndIf
If $system = ""
Exit 13
EndIf

Select
;European system. Use dot for digitgrouping and comma for decimals.
Case $system = "1"
If InStr ($input, ",") = 0
Select
Case Len($input) = 4
$1 = SubStr($input, 1, 1)
$2 = SubStr($input, 2)
$digitgrouping = $1 + "." + $2
Case Len($input) = 5
$1 = SubStr($input, 1, 2)
$2 = SubStr($input, 3)
$digitgrouping = $1 + "." + $2
Case Len($input) = 6
$1 = SubStr($input, 1, 3)
$2 = SubStr($input, 4)
$digitgrouping = $1 + "." + $2
Case Len($input) = 7
$1 = SubStr($input, 1, 1)
$2 = SubStr($input, 2, 3)
$3 = SubStr($input, 5)
$digitgrouping = $1 + "." + $2 + "." $3
Case Len($input) = 8
$1 = SubStr($input, 1, 2)
$2 = SubStr($input, 3, 3)
$3 = SubStr($input, 6)
$digitgrouping = $1 + "." + $2 + "." $3
Case Len($input) = 9
$1 = SubStr($input, 1, 3)
$2 = SubStr($input, 4, 3)
$3 = SubStr($input, 7, 3)
$digitgrouping = $1 + "." + $2 + "." $3
Case Len($input) = 10
$1 = SubStr($input, 1, 1)
$2 = SubStr($input, 2, 3)
$3 = SubStr($input, 5, 3)
$4 = SubStr($input, 8, 3)
$digitgrouping = $1 + "." + $2 + "." $3 + "." + $4
EndSelect
Else
$array = Split($input, ",")
Select
Case Len($array[0]) = 4
$1 = SubStr($array[0], 1, 1)
$2 = SubStr($array[0], 2)
$digitgrouping = $1 + "." + $2 + "," + $array[Ubound($array)]
Case Len($array[0]) = 5
$1 = SubStr($array[0], 1, 2)
$2 = SubStr($array[0], 3)
$digitgrouping = $1 + "." + $2 + "," + $array[Ubound($array)]
Case Len($array[0]) = 6
$1 = SubStr($array[0], 1, 3)
$2 = SubStr($array[0], 4)
$digitgrouping = $1 + "." + $2 + "," + $array[Ubound($array)]
Case Len($array[0]) = 7
$1 = SubStr($array[0], 1, 1)
$2 = SubStr($array[0], 2, 3)
$3 = SubStr($array[0], 5)
$digitgrouping = $1 + "." + $2 + "." $3 + "," + $array[Ubound($array)]
Case Len($array[0]) = 8
$1 = SubStr($array[0], 1, 2)
$2 = SubStr($array[0], 3, 3)
$3 = SubStr($array[0], 6)
$digitgrouping = $1 + "." + $2 + "." $3 + "," + $array[Ubound($array)]
Case Len($array[0]) = 9
$1 = SubStr($array[0], 1, 3)
$2 = SubStr($array[0], 4, 3)
$3 = SubStr($array[0], 7, 3)
$digitgrouping = $1 + "." + $2 + "." $3 + "," + $array[Ubound($array)]
Case Len($array[0]) = 10
$1 = SubStr($array[0], 1, 1)
$2 = SubStr($array[0], 2, 3)
$3 = SubStr($array[0], 5, 3)
$4 = SubStr($array[0], 8, 3)
$digitgrouping = $1 + "." + $2 + "." $3 + "." + $4 + "," + $array[Ubound($array)]
EndSelect
EndIf
;US system. Use comma for digitgrouping and dot for decimals.
Case $system = "2"
If InStr ($input, ".") = 0
Select
Case Len($input) = 4
$1 = SubStr($input, 1, 1)
$2 = SubStr($input, 2)
$digitgrouping = $1 + "," + $2
Case Len($input) = 5
$1 = SubStr($input, 1, 2)
$2 = SubStr($input, 3)
$digitgrouping = $1 + "," + $2
Case Len($input) = 6
$1 = SubStr($input, 1, 3)
$2 = SubStr($input, 4)
$digitgrouping = $1 + "," + $2
Case Len($input) = 7
$1 = SubStr($input, 1, 1)
$2 = SubStr($input, 2, 3)
$3 = SubStr($input, 5)
$digitgrouping = $1 + "," + $2 + "," $3
Case Len($input) = 8
$1 = SubStr($input, 1, 2)
$2 = SubStr($input, 3, 3)
$3 = SubStr($input, 6)
$digitgrouping = $1 + "," + $2 + "," $3
Case Len($input) = 9
$1 = SubStr($input, 1, 3)
$2 = SubStr($input, 4, 3)
$3 = SubStr($input, 7, 3)
$digitgrouping = $1 + "," + $2 + "," $3
Case Len($input) = 10
$1 = SubStr($input, 1, 1)
$2 = SubStr($input, 2, 3)
$3 = SubStr($input, 5, 3)
$4 = SubStr($input, 8, 3)
$digitgrouping = $1 + "," + $2 + "," $3 + "," + $4
EndSelect
Else
$array = Split($input, ".")
Select
Case Len($array[0]) = 4
$1 = SubStr($array[0], 1, 1)
$2 = SubStr($array[0], 2)
$digitgrouping = $1 + "," + $2 + "." + $array[Ubound($array)]
Case Len($array[0]) = 5
$1 = SubStr($array[0], 1, 2)
$2 = SubStr($array[0], 3)
$digitgrouping = $1 + "," + $2 + "." + $array[Ubound($array)]
Case Len($array[0]) = 6
$1 = SubStr($array[0], 1, 3)
$2 = SubStr($array[0], 4)
$digitgrouping = $1 + "," + $2 + "." + $array[Ubound($array)]
Case Len($array[0]) = 7
$1 = SubStr($array[0], 1, 1)
$2 = SubStr($array[0], 2, 3)
$3 = SubStr($array[0], 5)
$digitgrouping = $1 + "," + $2 + "," $3 + "." + $array[Ubound($array)]
Case Len($array[0]) = 8
$1 = SubStr($array[0], 1, 2)
$2 = SubStr($array[0], 3, 3)
$3 = SubStr($array[0], 6)
$digitgrouping = $1 + "," + $2 + "," $3 + "." + $array[Ubound($array)]
Case Len($array[0]) = 9
$1 = SubStr($array[0], 1, 3)
$2 = SubStr($array[0], 4, 3)
$3 = SubStr($array[0], 7, 3)
$digitgrouping = $1 + "," + $2 + "," $3 + "." + $array[Ubound($array)]
Case Len($array[0]) = 10
$1 = SubStr($array[0], 1, 1)
$2 = SubStr($array[0], 2, 3)
$3 = SubStr($array[0], 5, 3)
$4 = SubStr($array[0], 8, 3)
$digitgrouping = $1 + "," + $2 + "," $3 + "," + $4 + "." + $array[Ubound($array)]
EndSelect
EndIf
EndSelect
EndFunction

_________________________
Mart

- Chuck Norris once sold ebay to ebay on ebay.