1

我在创建的购物车中有此代码,但收到标题中显示的错误。错误显示在此行:

4

4 回答 4

4

只需调用ToString以获取十进制值的字符串表示形式:

order.Total = orderTotal.ToString("G");

虽然我不明白你为什么要将成员存储Total为 astring而不是 a decimaltoo。

于 2012-04-14T20:11:04.167 回答
0

听起来这个Order类有Total一个字符串属性。检查类定义Order。如果是这种情况,我建议将Total数据类型更改为小数,因为将货币值表示为字符串没有意义。decimal更有意义。

于 2012-04-14T20:11:36.960 回答
0

您的 Order 课程是什么样的?属性的类型是什么Total?看起来它是一个字符串类型。在这里,您尝试将十进制值设置为字符串类型,也就是说,您遇到了该错误。因此,您需要先将十进制转换为字符串,然后再将其分配给字符串变量。使用toString()方法。

order.Total = orderTotal.ToString();

正如 Tudor 已经提到的,最好使用 Total 作为小数属性,因为它可以很容易地进行所有数学运算。每次您想要进行算术运算并将其再次转换回字符串时,您都不需要将其转换为十进制格式

于 2012-04-14T20:12:31.173 回答
0

将类型更改Order.Total为十进制。数据类型 Decimal 不会自动转换为字符串(反之亦然),这就是您收到错误的原因,此外,任何后续调用都Order.Total将与字符串相关,因此您将无法使用像Order.Total +=

另请注意,任何绑定便利,如 DataTable 的“格式”属性都将被忽略,因为底层架构不会调用 string.ToString(format)。

于 2012-04-14T20:23:40.617 回答