Vb.net 将数据列乘以参数

Vb.net 将数据列乘以参数,vb.net,datatable,operation,Vb.net,Datatable,Operation,我有一个DataColumn,我想将其中的所有行乘以某个值。假设我有一个名为price的列,则该属性允许我按以下方式执行此操作: MyDataColumn.Expression = "price * 0.0862" 但是如果我真的想使用一个参数呢?我想写: Dim tax As Double = 0.0862 MyDataColumn.Expression = "price * tax" 但在VisualBasic中这样做实际上是将列价格乘以列税,这不是我想要的 有什么想法吗?为什么不使用如

我有一个DataColumn,我想将其中的所有行乘以某个值。假设我有一个名为price的列,则该属性允许我按以下方式执行此操作:

MyDataColumn.Expression = "price * 0.0862"
但是如果我真的想使用一个参数呢?我想写:

Dim tax As Double = 0.0862
MyDataColumn.Expression = "price * tax"
但在VisualBasic中这样做实际上是将列价格乘以列税,这不是我想要的


有什么想法吗?

为什么不使用如下变量:

Dim tax As Double = 0.0862
MyDataColumn.Expression = "price * " & tax
编辑:

您必须首先将
tax
转换为具有
InvariantCulture
的字符串:

Dim tax As Double = 0.0862
MyDataColumn.Expression = "price * " & tax.ToString(CultureInfo.InvariantCulture)

否则,
MyDataColumn.Expression
将是
price*00862
而不是
price*0.0862
,并且DataColumn将抱怨语法错误。

Hi BigYellowCactus,感谢您的回答。这样做会导致语法错误。如果我首先将Dim strExpression声明为String=“price*”&tax,并执行
MyDataColumn.Expression=strExpression
,这可能是在运行时,我想知道这是否是因为隐式tax.ToString()是如何发生的。我喜欢使用String.Format(或带有格式说明符的ToString)来避免歧义。DataTable在运行时可能会抱怨实际表达式的语法:-)直到那时它才真正被DataTable类计算。我已经投了赞成票,但我认为这是对的。更新你的答案是值得的,因为这几乎可以肯定:-)嗨,这确实是所需要的
CultureInfo.InvariantCulture
。谢谢