我有以下情况:
- 运行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"格式化我的小数来解决它。文化,但我怀疑这是最好的解决方案,除非有人能确认数据表上的选择总是需要"。"作为小数点分隔符,忽略所有文化。