C# Eval()中的计算

C# Eval()中的计算,c#,webforms,eval,C#,Webforms,Eval,我正在做一个网站,以显示产品和价格,我遇到一些错误的计算 第一项价格:亨氏沙拉奶油原味285G(8.0189) 以上是我的源代码调用2个价格显示(正常价格,会员价格) 当前具有相同数量的两个数据 正如你们所看到的,我的正常价格包括税,即数字1.06。 代码运行良好,但当我使用计算器计算实际金额时,所有计算都是错误的,不包括第二个,即275.00,如我随附的图片所示 所以我的问题是,我如何确保所有的计算都是正确的?如果我的信息不够清楚,请告诉我 我发现我的问题其实是把小数点后所有的位数都四舍

我正在做一个网站,以显示产品和价格,我遇到一些错误的计算


第一项价格:亨氏沙拉奶油原味285G(8.0189)

以上是我的源代码调用2个价格显示(正常价格,会员价格) 当前具有相同数量的两个数据

正如你们所看到的,我的正常价格包括税,即数字1.06。 代码运行良好,但当我使用计算器计算实际金额时,所有计算都是错误的,不包括第二个,即275.00,如我随附的图片所示

所以我的问题是,我如何确保所有的计算都是正确的?如果我的信息不够清楚,请告诉我

我发现我的问题其实是把小数点后所有的位数都四舍五入,只是计算出了金额。但是我怎么才能解决这个问题呢


很抱歉给您带来麻烦,我找到了解决方案,我将发布它以供将来参考

正如我们所讨论的,他强迫数字是十进制的,作为一个例子,我也对数字1.06做了同样的处理,最终的结果是这样的

Text='<%# "Normal price: RM" + String.Format("{0:0.00}", Convert.ToDecimal(Eval("SellPrice_1")) * 1.06m) %>' 
这就是我强制输入数字的地方

1.06变为1.06米

最后我得到了我的最终结果


再次对麻烦表示歉意,并感谢你抽出时间

对麻烦表示歉意,我找到了解决方案,我将发布它以供将来参考

正如我们所讨论的,他强迫数字是十进制的,作为一个例子,我也对数字1.06做了同样的处理,最终的结果是这样的

Text='<%# "Normal price: RM" + String.Format("{0:0.00}", Convert.ToDecimal(Eval("SellPrice_1")) * 1.06m) %>' 
这就是我强制输入数字的地方

1.06变为1.06米

最后我得到了我的最终结果


再次为您的麻烦感到抱歉,并感谢您抽出时间观看

图片不可用。。。但我假设您在适当的情况下缺少括号,因此编译器将它们考虑为int,而不是顺序规则(首先是乘法和除法,然后是加法)@БББББББББББББББСБССС)。谢谢您的回复,图像不可用,因为我尚未将图像上载到数据库。注意,我现在检查一下。这是内部转发器吗?@Бööööööööööööц作为您的信息,我正在使用数据列表@Бöööööööööööööööööö。。。但我假设您在适当的情况下缺少括号,因此编译器将它们考虑为int,而不是顺序规则(首先是乘法和除法,然后是加法)@БББББББББББББББСБССС)。谢谢您的回复,图像不可用,因为我尚未将图像上载到数据库。注意,我现在检查一下。这是内部转发器吗?@БССцццццццц供您参考,我使用的是数据列表@БСцццццц。
Operator '*' cannot be applied to operands of type 'decimal' and 'double'