我正在建立一个网站来显示产品和价格,我在计算中遇到了一些错误。
<asp:Button ID="SellPrice1"
Visible="true"
BackColor="#9933FF"
Width="200px"
BorderStyle="solid"
BorderColor="#ffffff"
BorderWidth="0px"
ForeColor="white"
Font-Underline="false"
runat="server"
CommandArgument='<%# Eval("Barcode")%>'
CommandName="Add"
Text='<%# "Normal price: RM" + String.Format("{0:0.00}", Convert.ToInt32(Eval("SellPrice_1")) * 1.06, "{0:0.00}") %>'
Font-Size="12px"
Font-Bold="true"></asp:Button>
<asp:Button ID="SellPrice2"
Visible="true"
BackColor="#9933FF"
Width="200px"
BorderStyle="solid"
BorderColor="#ffffff"
BorderWidth="0px"
ForeColor="white"
Font-Underline="false"
runat="server"
CommandArgument='<%# Eval("Barcode")%>'
CommandName="Add"
Text='<%# "Member price: RM" + Eval("SellPrice_2", "{0:0.00}") %>'
Font-Size="12px"
Font-Bold="true"></asp:Button>
第一件商品的价格:HEINZ SALAD CREAM ORIGINAL 285G(8.0189)
以上是我的源代码,以显示2个价格(正常价格,会员价格) 两个数据目前都有相同的数量。
正如大家们所见,我的正常价格包括税号,即 1.06 。 代码工作正常,但是当我使用计算器计算实际金额时,所有计算都是错误的,不包括第二个,即我附图所示的275.00。
所以我的问题是,我怎样才能确保所有计算都正确?如果我的信息不够清楚,请告诉我。
我发现我的问题实际上是计算四舍五入所有小数位,只计算金额。但我该如何解决这个问题呢?
答案 0 :(得分:2)
对不起,我找到了解决方案,我会将其发布以供将来参考。
正如here所讨论的那样,他强迫数字为十进制数,例如,我也是这样做的数字是1.06,最后的结果就是这个
Text='<%# "Normal price: RM" + String.Format("{0:0.00}", Convert.ToDecimal(Eval("SellPrice_1")) * 1.06m) %>'
正如您所注意到的,我首先Convert.ToDecimal
计算包括小数位数。
然后我得到错误
Operator '*' cannot be applied to operands of type 'decimal' and 'double'
这就是我强迫数字的地方
1.06变为1.06m
最后我得到了我的最终结果。
再次抱歉遇到麻烦,感谢ИвоНедев为你的时间