这可能是一个愚蠢的问题,但我不确定如何解决这个问题。你如何将这个字符串转换为double:
"\"15.4\""
字符串输入为:
"15.4"
我需要将其视为双倍。有可能吗?
答案 0 :(得分:3)
首先修剪引号,然后解析字符串:
string input = "\"15.4\"";
double n = Double.Parse(input.Trim('"'), CultureInfo.InvariantCulture);
使用不变文化意味着解析使用句点作为小数分隔符,而不管当前的区域性设置。
答案 1 :(得分:2)
var s = "\"15.4\"";
var d = double.Parse(s.Trim('"'));
仅当已知'"'
字符位于字符串的开头或结尾时才有效。如果可以进行其他配置,则处理它们的代码必须更加复杂。
答案 2 :(得分:1)
最简单的是:
double value = Double.Parse("\"15.4\"".Trim('"'));
但是,我建议您查看Double.TryParse
,以便测试string
未解析为double
的内容。
double value;
if(!Double.TryParse("\"15.4\"".Trim('"'), out value)) {
// it didn't parse
}
答案 3 :(得分:1)
答案 4 :(得分:0)
您需要删除引号,然后解析它。
var str = "\"15.4\"";
str = str.Replace("\"", "");
var num = double.Parse(str);