2011-01-19 48 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); 
相关问题