数据表选择不使用正确的文化

时间:2017-05-09 12:18:05

标签: c# datatable dataset decimal

我有以下情况:

  • 运行Visual Studio 2015
  • DataTable由dot.net中的查询填充,数据来自Oracle数据库
  • 有一个名为" Amount"的列。在DataTable中,它的数据类型是Decimal(它不是类型化的数据集,但是我在Visual Studio中检查了类型)
  • 我的电脑上的文化是" nl-BE"使用','作为小数点分隔符
  • DataTable的区域设置是" nl-BE"
  • 在Visual Studio中直观地检查DataTable会将列中的值显示为' 499,44'
  • 当我这样做时。用参数&#34选择该DataTable;数量= 499,44"我得到了例外
  • 当我尝试"金额= 499.44"时,它有效!

我不明白为什么我需要使用'。'作为小数点分隔符。原始数据来自的服务器(Oracle服务器)使用','我的电脑使用','。为什么这个DataTable仍然需要'。'对于选择,没有任何意义。

我意识到我可以使用Linq / lamda expr。但它不是一个类型化的数据集,所以仍然让我的代码混乱,它是一个旧的应用程序,所以我不想改变太多

我通过使用" en-US"格式化我的小数来解决它。文化,但我怀疑这是最好的解决方案,除非有人能确认数据表上的选择总是需要"。"作为小数点分隔符,忽略所有文化。

0 个答案:

没有答案