在ASPX页面中转换和乘以货币字符串eval值

时间:2017-08-28 17:51:26

标签: c# asp.net listview formatexception

我正在尝试将两个字符串值转换为整数,并将它们相乘,以便在ASPX页面上的ListView中使用。

以下代码不起作用,但它应该让您了解我想要实现的目标:

<%#String.Format("{0:c}", Convert.ToInt32(Eval("nbrQtyOrdered")) * Convert.ToInt32(Eval("curSellPrice"))) %>

我收到以下错误:

  

类型&#39; System.FormatException&#39;的例外情况发生在mscorlib.dll中但未在用户代码中处理

     

其他信息:输入字符串的格式不正确。

nbrQtyOrdered是整数值的字符串表示,curSellPrice是双精度的字符串表示,例如&#34; $ 22.22&#34;。我现在假设美元符号给我错误。

如何解决此问题并实现我的目标?

1 个答案:

答案 0 :(得分:0)

你是对的。带有美元符号的"$22.22"无法转换为整数。

我建议先修整美元符号。这可以通过多种方式完成:

Eval("curSellPrice").Replace("$", "")

OR

Eval("curSellPrice").TrimStart('$');

curSellPrice字符串中删除美元符号后,您应该能够将其与Convert.ToInt32()一起使用。