C# how to parse a string to double
本问题已经有最佳答案,请猛点这里访问。
我想把字符串解析为double。我的问题是,newtime的结果是800,但是结果应该是8,00。
1 2 | string time ="08:00"; double newTime = double.Parse(time.Replace(':', '.')); |
如果要将
1 2 3 4 5 | string time ="08:00"; // when parsing"time", decimal separator is":" double newTime = double.Parse(time, new NumberFormatInfo() { NumberDecimalSeparator =":" }); |
尽量避免使用像
1 2 3 | // F2 - format string ensures 2 digits after the decimal point // Outcome: 8.00 Console.Write(newTime.ToString("F2")); |
。
您的问题是,您的区域性与您在字符串中创建的内容具有不同的十进制分隔符。
你可以把它改成这个
1 2 | string time ="08:00"; double newTime = double.Parse(time.Replace(":", Thread.CurrentThread.CurrentCulture.NumberFormat.NumberDecimalSeparator) ); |
号
1 2 | string time ="08:00"; double newTime = double.Parse(time.Replace(':', '.'), CultureInfo.InvariantCulture); |
您还应该使用具有