it seems that PLSQL Developer is displaying data with oracle format but posting (after edit) with windows regional settings format. This example should reproduce this behavior
/*
NLS PARAMS:
select * from nls_database_parameters
NLS_NUMERIC_CHARACTERS .,
select * from nls_instance_parameters
NLS_NUMERIC_CHARACTERS .,
select * from nls_session_parameters
NLS_NUMERIC_CHARACTERS .,
Windows regional settings
Decimal symbol: ,
Digit grouping symbol: .
PL/SQL Developer
numbers->Oracle format
*/
--STEP1
create table test_tbl1(col1 number(15,3));
insert into test_tbl1(col1)values(5.3);
--STEP2
select t.*, t.rowid from test_tbl1 t
-- grid is showing: 5.300
--STEP3
-- edit value to 5.678 (eny value) , COMMIT
--STEP4
select t.*, t.rowid from test_tbl1 t
-- grid is showing: 5678.000
/*
NLS PARAMS:
select * from nls_database_parameters
NLS_NUMERIC_CHARACTERS .,
select * from nls_instance_parameters
NLS_NUMERIC_CHARACTERS .,
select * from nls_session_parameters
NLS_NUMERIC_CHARACTERS .,
Windows regional settings
Decimal symbol: ,
Digit grouping symbol: .
PL/SQL Developer
numbers->Oracle format
*/
--STEP1
create table test_tbl1(col1 number(15,3));
insert into test_tbl1(col1)values(5.3);
--STEP2
select t.*, t.rowid from test_tbl1 t
-- grid is showing: 5.300
--STEP3
-- edit value to 5.678 (eny value) , COMMIT
--STEP4
select t.*, t.rowid from test_tbl1 t
-- grid is showing: 5678.000