If you use MS SQL Server 2012 SP2 CU2 in combination with an Oracle OleDB datasource, it's possible that you came across this behavior. Microsoft changed the type of the NUMBER field. The type was previously handled as a string, but with the release of the mentioned version, it is now handled as a numeric (38, 0). This results in the decimals being cut off.
The old way of handling the NUMBER fields is available through DBCC TRACEON which requires sysadmin rights.
In Data Manager v3.17.20408 a checkbox can be found in the settings menu under the General tab to enable DBCC TRACEON allowing ETL to use the old way of handling the NUMBER fields. However, this requires sysadmin rights.