AnushAmit Malhotra wrote:When the application reads this data, it considers it as 9999.00 and the computing logic totally goes for a toss.
Inspect carefully the code that reads the data from the database and prints it. That code is wrong. If you post it here, we can help you find the problem.
When a number is stored in the database, it isn't stored with the decimal separator. It's stored in an internal representation which is independent from regional settings, NLS or locale. When displayed by SQL Developer, the SQL Developer uses some settings (I believe it has its own settings) to format that number. When it is written to the log file, the decimal separator used depends on the locale used by the application. So it doesn't indicate any problem if it shows with different decimal separator in SQL Developer and in the log file.
Given that the number is shown up correctly in SQL Developer, the part of your application that writes that number is probably correct. So when the application reads and prints the data, it does it wrong. I can't guess exactly what it does, there are many ways to do something wrong, and it is possible that the bug only appears with some specific (eg. European) national language settings. But it is a bug nevertheless and needs to be tracked down.