繁体   English   中英

将带有转义字符的字符串转换为双精度

[英]Convert string with escape characters to double

这可能是一个愚蠢的问题,但是我不确定如何解决该问题。 您将如何将该字符串转换为double:

"\"15.4\""

字符串输入为:

"15.4"

我需要将其视为双打。 可能吗?

首先修剪引号,然后解析字符串:

string input = "\"15.4\"";
double n = Double.Parse(input.Trim('"'), CultureInfo.InvariantCulture);

使用不变区域性意味着无论当前区域性设置如何,解析都使用句点作为小数点分隔符。

var s = "\"15.4\"";
var d = double.Parse(s.Trim('"'));

这仅在已知'"'字符位于字符串的开头或结尾时才有效。如果可以进行其他配置,则处理它们的代码将有些复杂。

最简单的是:

double value = Double.Parse("\"15.4\"".Trim('"'));

但是,我建议您查看Double.TryParse ,以便可以测试未解析为doublestring s。

double value;
if(!Double.TryParse("\"15.4\"".Trim('"'), out value)) {
   // it didn't parse
}

您需要删除引号,然后解析它。

var str = "\"15.4\"";
str = str.Replace("\"", "");
var num = double.Parse(str);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM