如何在C#中设置用作小数点的字符?

时间:2011-01-19 02:30:59

标签: visual-studio-2010 c#-4.0 decimal point

我正在用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();

        }

我正在使用自动生成的按钮,我只是计算了我需要计算的公式。如您所见,现在我正在使用Convert.ToDouble进行转换。有没有更好的方法呢?如果可能的话,我也希望避免通过字符串并寻找点和逗号并手动修复它们。

我也有一种感觉,问题与我系统上的区域设置有关,但我现在不想改变它。

2 个答案:

答案 0 :(得分: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);

答案 1 :(得分: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);