【发布时间】:2015-04-10 14:42:11
【问题描述】:
我正在尝试将字符串转换为双精度但无法这样做...
我试图模拟一个虚拟代码,它是我的应用程序的一部分,文本值来自我无法控制的第 3 方应用程序。
我需要将以通用格式“G”表示的字符串转换为双精度值并在文本框中显示。
string text = "G4.444444E+16";
double result;
if (!double.TryParse(text, NumberStyles.Any, CultureInfo.InvariantCulture, out result))
{
}
我尝试通过更改 numberstyles 和cultureinfo,但结果始终返回 0。建议代码有什么问题?
【问题讨论】:
-
你试过
System.Globalization.NumberStyles.Float吗? -
相关? stackoverflow.com/questions/3879463/… - 您可能需要先修剪掉
'G'。 -
对了,为什么那个 G 在那里?
-
@virusrocks - 它的general format specifier。这个字符串是从哪里来的?如果你想解析它,似乎你需要删除“G”,但最好看看你是否可以改变它的来源
标签: c# string type-conversion double tryparse