2011-11-07 10 views
0

私は商品タイプとそれに付随する関連価格を持つコンボボックスを持っています。私は価格であるコンボボックスのバリューメンバーを取ってそれを他の値と掛け合わせ、それを通貨として請求書に入れることができるようにする必要があります。現在私はそれを文字列に変換することができますが、それは通貨に変換するために.ToString( "C")オーバーロードを使うことはできないようです。すべてのヘルプは素晴らしいことだ:あなたは可能性が探しているものをCombobox値通貨へのメンバー

private void btnAddProduct_Click(object sender, EventArgs e) 
    { 
     double invoiceTotal; 
     double productTotal; 
     double currentTotal; 
     string multiplier; 
     string price; 

     //invoiceTotal = 0; 
     price = Convert.ToString(comboBox1.SelectedValue); 

     multiplier = comboBox2.Text; 
     productTotal = Convert.ToDouble(txtProductTotal.Text); 

     if (txtInvoiceTotal.Text != "") 
     { 
      invoiceTotal = Convert.ToDouble(txtInvoiceTotal.Text); 
     } 
     else 
     { 
      invoiceTotal = 0; 
     }    
     currentTotal = productTotal + invoiceTotal; 
     txtInvoiceTotal.Text = Convert.ToString(currentTotal); 
     string prod = comboBox1.Text; 

     if (txtExplanation.Text == "") 
     { 
      txtExplanation.Text = prod + " X " + multiplier + " @ " + price; 
     } 
     else 
      txtExplanation.Text = txtExplanation.Text + "\r\n" + prod + " X " + multiplier + " @ " + price;   

    } 

答えて

1

comboBox1.SelectedValueはすでに文字列でなければなりません。そのため、String.Formatを使用して、好みのフォーマットにすることができます。それ以外の場合は、Double.Parse(comboBox1.SelectedValue)でdoubleに解析し、double値でToString( "C")を呼び出すことができます。

+0

それは感謝しました!使用される文字列currencyText = String.Format( "{0:C}"、price); – korrowan

0

文字列フォーマットです:

var price = comboBox1.SelectedValue; 
var currencyText = price.ToString("$#,##0.00"); 
+0

まだ運がありません。それは私に同じエラーを与え続けます:No Toload for Method 'ToString'は引数を1つとります。 ToString( "C")を使用しようとしたときと同じです。 – korrowan

+0

コンボボックスに保存するデータ型は何ですか?通貨データですか? –

+0

はい通貨データです。私たちが販売する製品の「価格」です。 – korrowan