2011-01-19 31 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 2011-01-19 02:40:58

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); 
相關問題