Конвертировать строку с escape-символами в удвоение - PullRequest
0 голосов
/ 06 марта 2012

Это может быть глупый вопрос, но я не уверен, как решить эту проблему.Как бы вы преобразовали эту строку в удвоенную:

"\"15.4\""

Строка имеет вид:

"15.4"

Мне нужно увидеть ее как двойную.Возможно ли это?

Ответы [ 5 ]

3 голосов
/ 07 марта 2012

Сначала обрежьте кавычки, затем разберите строку:

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

Использование инвариантной культуры означает, что при разборе используется точка в качестве десятичного разделителя, независимо от текущих настроек культуры.

2 голосов
/ 06 марта 2012
var s = "\"15.4\"";
var d = double.Parse(s.Trim('"'));

Это работает только в том случае, если известно, что символы '"' находятся в начале или конце строки.Если возможны другие конфигурации, код должен быть немного сложнее для их обработки.

1 голос
/ 06 марта 2012

Быстрый и простой способ: Convert.ToDouble ("15.4" .Trim ('"'))

1 голос
/ 06 марта 2012

Самое простое:

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
}
0 голосов
/ 07 марта 2012

Вам нужно удалить кавычки, а затем разобрать их.

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