我有這樣的代碼在購物車中,我創造,但我收到的title.The錯誤顯示的錯誤是否顯示在此排隊:不能類型「小數」隱式轉換爲「字符串」
回答
剛打電話ToString
得到十進制值的字符串表示:
order.Total = orderTotal.ToString("G");
雖然我不明白你爲什麼會成員Total
存儲爲string
,而不是作爲一個decimal
了。
嗨,感謝您的建議,它將需要改變以將總數更改爲小數而不是字符串 – user1300580 2012-04-14 20:29:04
@ user1300580:在您發佈的第二個類('Order'類)中,只需將'Total'的類型從'string'轉換爲'decimal'。 – Tudor 2012-04-14 20:33:11
作品,謝謝,我顯然看錯了地方。 「初學者錯誤」 – user1300580 2012-04-14 20:35:01
聽起來像Order
類有一個Total
屬性是一個字符串。檢查Order
的班級定義。如果是這樣的話,我建議將Total
數據類型更改爲小數,因爲將貨幣值表示爲字符串是沒有意義的。 decimal
更有意義。
您的訂單類是怎樣的?什麼是屬性Total
?它看起來像是一個字符串類型。這裏你試圖將十進制值設置爲字符串類型那就是你正在得到那個錯誤。所以你需要將十進制轉換爲字符串,然後將其分配給可變字符串。使用toString()
方法。
order.Total = orderTotal.ToString();
由於Tudor已經提到,最好使用Total作爲小數屬性,因爲它可以很容易地進行所有的數學運算。每次當您要進行算術運算並將其再次轉換回字符串時,都不需要將其轉換爲十進制格式。
以上編輯顯示訂單類 – user1300580 2012-04-14 20:27:39
@ user1300580:閱讀我的答案的第二段。將它作爲十進制數字是一個更好的主意 – Shyju 2012-04-14 22:57:22
將Order.Total
的類型更改爲十進制。數據類型Decimal不會自動轉換爲字符串(反之亦然),這就是您遇到錯誤的原因,此外,對Order.Total
的任何後續調用都將與字符串相關,因此您將無法使用像Order.Total +=
還要注意,像DataTable的'format'屬性這樣的任何綁定方便都會被忽略,因爲底層架構不會調用string.ToString(format)。
你認爲這個改變發生在哪裏?你的意思是和上面回答 – user1300580 2012-04-14 20:31:44
@ user1300580的人相同的地方 - 在'訂購'類中進行更改。不要使用'orderTotal.ToString()',因爲這會被認爲是滿足模型的黑客。 – 2012-04-14 20:51:18
- 1. 不能隱式地將類型字符串轉換爲字節[]
- 2. 不能隱式地將類型bool轉換爲字符串
- 3. 不能隱式轉換類型'字符串'爲'System.Web.UI.WebControls.DropDownList'
- 4. 不能隱式地將類型'字符串'轉換爲'namespace.class'
- 5. 不能隱式地將類型'字符串'轉換爲'System.Web.UI.WebControls.Unit'
- 6. 不能將類型'字符串'隱式轉換爲'char'
- 7. 不能隱式地將類型'字符串'轉換爲'int'(c#)
- 8. 不能隱式地將類型字符串轉換爲microsoft.sqlserver.dts.runtime.variable
- 9. 不能類型「string」隱式轉換爲「字符串[]」
- 10. 不能隱式地將類型'字符串'轉換爲'System.DateTime'
- 11. 不能隱式地將類型'字符串'轉換爲'System.Web.UI.WebControls.Label'
- 12. 不能隱式地將類型「字符串」轉換爲「Windows.Security.Credentials.PasswordCredential」
- 13. 不能將類型'字符串'隱式轉換爲'System.Windows.Controls.Label
- 14. 不能隱式地將類型字符串轉換爲System.Windows.Forms.Datagridviewcell c#
- 15. ASP.NET MVC - 不能char類型隱式轉換爲字符串
- 16. 不能將類型'System.Data.Common.DbDataReader'隱式轉換爲'字符串'
- 17. 不能隱式地將類型'字符串'轉換爲'int'c#
- 18. 不能隱式地將類型'字符串'轉換爲'bool'CheckBox
- 19. 無法將類型'字符串'隱式轉換爲'字符串'
- 20. 不能隱式轉換類型「字符串」到「system.collections.arraylist」在C#
- 21. 不能隱式轉換類型int?以字符串[]
- 22. 從類型隱式轉換的char []字符串是不可能
- 23. 不能將字符串隱式轉換爲字符串[]。在c#
- 24. 不能將類型'double'隱含轉換爲'字符串'
- 25. 不能隱式轉換類型爲System.Collections.Generic.List
- 26. 不能隱式轉換類型爲int
- 27. 類型字符串()的值不能轉換爲字符串
- 28. 無法將類型'int'隱式轉換爲'字符串'C#類
- 29. 字符串不能轉換爲(類名數據類型)Java
- 30. 不能隱式地將類型'字符串'轉換爲'System.Collections.Generic.ICollection <WebApplication2.Entry>'
嗨,謝謝你的回答?你能解釋一下在哪裏做這件事嗎?謝謝 – user1300580 2012-04-14 20:25:35