1

作成中のショッピング カートにこのコードがありますが、タイトルに示されているエラーが表示されます。エラーは次の行に表示されます。

4

4 に答える 4

4

呼び出すだけToStringで、10 進数値の文字列表現を取得できます。

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

Totalメンバーを としてstringではなく として保存する理由はわかりませんdecimalが。

于 2012-04-14T20:11:04.167 に答える
0

のタイプOrder.Totalを Decimal に変更します。データ型 Decimal は自動的に文字列に変換されない (およびその逆) ため、エラーが発生します。さらに、その後の呼び出しはOrder.Total文字列に関連するため、次のような演算子を使用することはできません。Order.Total +=

また、基になるアーキテクチャが string.ToString(format) を呼び出さないため、DataTable の「format」プロパティのようなバインディングの便利さは無視されることに注意してください。

于 2012-04-14T20:23:40.617 に答える
0

OrderクラスにTotal文字列のプロパティがあるようです。のクラス定義を確認してくださいOrder。その場合は、Totalデータ型を 10 進数に変更することをお勧めします。通貨の値を文字列として表すのは意味がないからです。decimalより理にかなっています。

于 2012-04-14T20:11:36.960 に答える
0

Order クラスはどのように見えますか? と呼ばれるプロパティのタイプは何Totalですか? 文字列タイプのようです。ここでは、10 進数値を文字列型に設定しようとしています。つまり、そのエラーが発生している y です。したがって、文字列変数に割り当てる前に、10 進数を文字列に変換する必要があります。メソッドを使用しtoString()ます。

order.Total = orderTotal.ToString();

Tudor が既に述べたように、すべての数学演算を簡単に実行できるため、Total を小数プロパティとして使用することをお勧めします。算術演算を実行するたびに10進数形式に変換し、再度文字列に変換する必要はありません

于 2012-04-14T20:12:31.173 に答える