如何在使用“double.Parse(str,CultureInfo.InvariantCulture);”输入的同一文化中显示输出?“

时间:2015-09-21 09:26:34

标签: c# .net windows visual-studio

我对C#.NET很新,并且在Windows上编程。 这是我的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Globalization;

namespace MyApp
{
    class Program
    {
        static void Main(string[] args)
        {
            string lineBreak = "\r\n";
            string str = Console.ReadLine();
            double number = double.Parse(str, CultureInfo.InvariantCulture);
            Console.WriteLine("You've entered: " + number + lineBreak + "Variable type:" +number.GetType());
            Console.WriteLine("Press any key to exit . . .");
            Console.Read();
        }
    }
}

如果我像这样输入double "32,45"(注意有一个逗号作为分隔符),那么我得到如下输出:

You've entered: 32,45
Variable type: System.Double

但是当我输入double这样的变量"32.45"时(注意,有点而不是逗号),那么我得到这样的输出:

You've entered: 32,45
Variable type: System.Double

它是一样的。我知道这是因为我在本地机器上设置了CultureInfo。

如何让它独立(不改变我的设置或内容,但完全在我的代码中?所以当用户打开我的程序时,他不应该在他的设置中更改任何内容)?

就像当我输入点时,它会输出带点的双精度,当我输入逗号时它会显示逗号?

最好的问候,Pāvels。​​

0 个答案:

没有答案