Did you set NLS_NUMERIC_CHARACTERS = ",."?
Code:
SQL> alter session set NLS_NUMERIC_CHARACTERS = ",.";

Session altered.

SQL> select to_char(10,'999G999D99') from dual;

TO_CHAR(10
----------
     10,00

1 row selected.

SQL> select to_char(125,'999G999D99') from dual;

TO_CHAR(125
-----------
     125,00

1 row selected.

SQL> select to_char(12345,'999G999D99') from dual;

TO_CHAR(123
-----------
  12.345,00

1 row selected.

SQL>