我正在用 C# 编写一个快速程序,但我遇到了用作小数点的字符的问题。现在,我需要使用
,
但我希望能够使用
.
甚至更好,两者兼而有之。
我正在寻找一些简短而简单的解决方案,因为整个程序都是 hack,我怀疑除了这一点之外,我是否需要让它看起来更好。
这是有问题的代码片段之一:
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 进行转换。有没有更好的方法来做到这一点?如果可能的话,我还想避免遍历字符串并寻找点和逗号并手动修复它们。
我也觉得这个问题与我系统上的区域设置有关,但我现在不想更改它。
最佳答案
对于逗号,将最后一行更改为:
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);
关于visual-studio-2010 - 如何在 C# 中设置用作小数点的字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4731223/