PUBLIC SUB formtvaluta(stringa AS String) AS String
DIM p, p1, itemp, itemp1 AS Integer
DIM initstringa AS String
''''sostituzione o aggiunta della virgola
IF InStr(stringa, ",") <> 0 THEN
stringa = Replace(stringa, ",", ".")
ENDIF
IF InStr(stringa, ".") <> 0 THEN
stringa = Replace(stringa, ".", ",")
ELSE
stringa = stringa & ",00"
ENDIF
'''''arrotondamento a due decimali
p = InStr(stringa, ",")
p1 = Len(stringa) - p
initstringa = Left(stringa, p - 1)
IF p1 = 2 THEN
stringa = stringa
ELSE IF p1 <= 1 THEN
stringa = stringa & "0"
ELSE IF p1 > 2 THEN
itemp = CInt(Mid(stringa, p + 1, 2))
itemp1 = CInt(Mid(stringa, p + 1 + 2, 1))
IF itemp1 >= 5 THEN
INC itemp
ENDIF
IF itemp = 100 THEN
stringa = CString(CInt(initstringa) + 1) & ",00"
ELSE
stringa = initstringa & "," & CString(itemp)
ENDIF
ENDIF
'''''''''''aggiunta puntini ogni 1000
IF Len(stringa) >= 7 THEN
stringa = Mid(stringa, 1, (Len(stringa) - 6)) & "." & Right(stringa, 6)
ENDIF
IF Len(stringa) >= 11 THEN
stringa = Mid(stringa, 1, (Len(stringa) - 10)) & "." & Right(stringa, 10)
ENDIF
IF Len(stringa) >= 15 THEN
stringa = Mid(stringa, 1, (Len(stringa) - 14)) & "." & Right(stringa, 14)
ENDIF
IF Len(stringa) >= 19 THEN
stringa = Mid(stringa, 1, (Len(stringa) - 18)) & "." & Right(stringa, 18)
ENDIF
RETURN stringa
END