Index: unix/clocale.pp =================================================================== --- unix/clocale.pp (revisiĆ³n: 13008) +++ unix/clocale.pp (copia de trabajo) @@ -306,6 +306,9 @@ NegCurrFormat := NegFormatsTable[signp, prec, sep]; //Number stuff ThousandSeparator:=GetLocaleChar(__THOUSANDS_SEP); + Sep := ord(GetLocaleChar(__MON_THOUSANDS_SEP)); + if ThousandSeparator=#0 then + ThousandSeparator := char(Sep); {$endif} DecimalSeparator:=GetLocaleChar(RADIXCHAR); end; Index: objpas/sysutils/sysstr.inc =================================================================== --- objpas/sysutils/sysstr.inc (revisiĆ³n: 13008) +++ objpas/sysutils/sysstr.inc (copia de trabajo) @@ -1369,7 +1369,8 @@ Dec(P, 3); While (P > 1) Do Begin - If Result[P - 1] <> '-' Then Insert(FormatSettings.ThousandSeparator, Result, P); + If (Result[P - 1] <> '-') And (FormatSettings.ThousandSeparator <> #0) Then + Insert(FormatSettings.ThousandSeparator, Result, P); Dec(P, 3); End; End; @@ -1401,7 +1402,8 @@ Dec(P, 3); While (P > 1) Do Begin - Insert(FormatSettings.ThousandSeparator, Result, P); + If FormatSettings.ThousandSeparator<>#0 Then + Insert(FormatSettings.ThousandSeparator, Result, P); Dec(P, 3); End; @@ -1954,7 +1956,7 @@ End; ',': Begin - thousand := True; + thousand := DefaultFormatSettings.ThousandSeparator<>#0; Inc(Fmt); End; 'e', 'E':