2011-01-19 1 views
3

私はC#で簡単なプログラムを作成していますが、小数点として使用する文字に問題があります。今、私はC#で小数点として使用する文字を設定する方法は?

を使用する必要がありますが、私は

を使用できるようにしたいです。

以上、さらには両方。

プログラム全体がハックであるため、私はいくつかの簡単で簡単な解決策を探しています。この点を除いて、私はそれをより良く見せる必要があるでしょう。私は自動的に生成されたボタンを使用してい

private void button2_Click(object sender, EventArgs e) 
     { 
      double Ri, B, R, T;    
      Ri = Convert.ToDouble(textBox2.Text); 
      B = Convert.ToDouble(textBox3.Text); 
      R = Convert.ToDouble(textBox6.Text); 

      T = B/Math.Log(R*1000/Ri, Math.Exp(1)) - 273.15; 
      textBox5.Text = T.ToString(); 

     } 

と私はちょうど私がそれに計算されている必要がある式をplaed:

ここでは、コードの問題の作品の一つです。ご覧のとおり、今はConvert.ToDoubleを使って変換しています。それを行うためのより良い方法はありますか?可能であれば、文字列を通り、ドットやカンマを探して手で固定することも避けたい。

問題は私のシステムでのロケール設定に関連していると感じていますが、現時点では変更したくはありません。コンマについては

答えて

3

のために、最後の行を変更:この使用し、期間について

textBox5.Text = T.ToString(CultureInfo.GetCultureInfo("de-DE").NumberFormat); 

textBox5.Text = T.ToString(CultureInfo.InvariantCulture.NumberFormat); 
// or use any "normal" country 

をそして逆を行うために(テキストボックス内の元の値を解析)期間の

double d = double.Parse(textBox5.Text, CultureInfo.GetCultureInfo("de-DE").NumberFormat); 

そして、この:

、コンマのためにこれを行います
double d = double.Parse(textBox5.Text, CultureInfo.InvariantCulture.NumberFormat); 
+0

実際、Convert.ToDoubleを使用する必要があります。私はそれをどのように使っていますか? – AndrejaKo

+1

私はちょうどそれに着いていた。 :) 'double.parse'の代わりに' Convert.ToDouble'を使います。 – MusiGenesis

+2

ユーザが数字を入力する方法がわからない場合に備えて、複数の 'double.tryParse'呼び出しを使用することもできます。 – MusiGenesis

0
 float Ri, B, R, T; 
     Ri = float.Parse((String.Format("{0:0.00}",textBox2.Text))); 
     B = float.Parse((String.Format("{0:0.00}",textBox3.Text)))); 
     R = float.Parse((String.Format("{0:0.00}", textBox6.Text))); 

     T = B/Math.Log(R * 1000/Ri, Math.Exp(1)) - 273.15; 
     textBox5.Text = String.Format("{0:0.00}",T); 
関連する問題