<td><asp:Label ID="lblDiscount" runat="server" Text='<%# Convert.ToInt32(DataBinder.Eval(Container.DataItem,"Discount")) * 10 %>'></asp:Label></td>
上面是绑定数据,绑定得到的是0.80(折扣率),我现在想要把他变成整数8,像上面那样写有问题。
谢谢,各位了.

解决方案 »

  1.   

    <td><asp:Label ID="lblDiscount" runat="server" Text='<%# Convert.ToInt32(DataBinder.Eval(Container.DataItem,"Discount") * 10) %>'></asp:Label></td>
    这样试试
      

  2.   

    这样报错的,object无法和int类型的进行计算
      

  3.   

    你既然知道用Convert.ToInt32,你在封装一次应该也会吧?
    在后台写一个函数处理你的问题,然后像Text="<%# XXX(para)%>"就OK了,
      

  4.   

    <td><asp:Label ID="lblDiscount" runat="server" Text='<%# Convert.ToInt32(DataBinder.Eval(Container.DataItem,"Discount") * 10) %>'></asp:Label></td>你先转型 再除 可能会有小数点。
    所以先除 再转Int类型。
      

  5.   

    前台Text='<%# GetData(Eval(Container.DataItem,"Discount").ToString())%>'后台public string GetData(string str)
    {
       //对数据的处理
    }
      

  6.   

    <td><asp:Label ID="lblDiscount" runat="server" Text='<%# inr.Parse(Convert.ToInt32(DataBinder.Eval(Container.DataItem,"Discount")) * 10)) %>'></asp:Label></td>
    好像也可以 ToString() 里面来格式化。不过格式化时去掉 0 不记得怎么样写了。
    ToString("{这里可以写格式化的样式}")
    查查看
      

  7.   

    1.楼上的后台处理可以采取啊!
    2。先转换为.toString().再将得出来的结果Convert.toInt32()!
      

  8.   

    <%# Convert.ToDouble(DataBinder.Eval(Container.DataItem,"Discount")) * 10 %>
      

  9.   

    在int.Parse 里先 * 10。。不然好像不对。
      

  10.   

    问下
    public string GetData(string str)
            {
                int i = int.Parse(str) * 10; //str的值为0.80,这里保存字符串格式不对...
                string Discount = i.ToString() + "折";
                return Discount;
            }
      

  11.   

    有小数点用float或者double 先转换,在转成int。
      

  12.   

    嗯,解决了。不能直接转成int型,谢谢了。结贴