集成服务双字符串

Integration Services double to string

我正在使用 Integration Services 将数据从 Excel 文件加载到 SQL 服务器 table。当我尝试将存储为 double (DT_R8) 的数字发送到数据存储为 varchar(50) 的数据库列时,我发现一个奇怪的舍入。

例如,考虑上图中第一行第一列的数据。原始值为 31.35 但作为字符串存储如下所示

我已经尝试在导出到 SQL 之前使用 Delivered Column 转换转换为字符串,我还添加了一个 Round(x, 5) 但我得到了相同的结果。 鉴于我无法更改 SQL 列数据类型,我该如何解决这个问题?

唯一可行的解​​决方案是将输入类型从 double (DT_R8) 更改为 currency [DT_CY]。似乎在 double (DT_R8) 上执行的舍入使其在解析以某种方式参与导出过程时难以使用。