我正在处理一个ASP.Net WebForms遗留应用程序,并需要将一个新特性集成进去。我使用生成的DataSet(使用VS 2013)来连接ReportViewer和SQL Server(本地报表,rdlc)。
一切工作都很好,除了一个问题:浮点数转换。在两个Windows 8.1 En_US系统上,报告中一个列值为-10.5的数据在报告中显示为-10.5,但在服务器上(Win 7 SP1 Es_CO),它显示为-105,尽管查询确实在服务器的本地SQL实例中返回了-10.5。
我已经检查了DataSet的生成代码,它将datarows中的对象直接转换为双精度浮点数,因此我认为SQL Server已经通过每列的CAST指令处理了这种转换。
有什么办法可以解决吗?值得一提的是,所有对服务器(Win7机器)的请求都来自于一个Win8.1 En_US机器。
状态更新: 我暗示(不完全确定)故障在于从SQL到CLR类型的转换,因为将报表列标记为字符串会产生相同的结果。