2015-05-07 4 views
-6

Я получаю размер шрифта как строку типа «12px» с клиентской стороны. На стороне сервера мне нужно назначить это значение для свойства типа double, поэтому я попытался разобрать строку, как показано ниже.Как преобразовать значение пикселя в двойное значение в C#

public class MarkerFont 
    { 

    double size= Convert.ToDouble("12px"); 
    } 

Но это шоу, строка не в правильном формате, я знаю, что строка содержит символ, мой вопрос, как я удалил символ из строки брать номера в одиночку.

Заранее спасибо.

+3

'' 12px ".Replace (" px "," ")'? – Blorgbeard

+1

Я уверен, что через несколько минут, если не секунды, кто-то опубликует фрагмент кода, который обращается к конкретной проблеме, так как основную проблему легко решить. Но если вы хотите получить хороший ответ, который поможет улучшить ваше понимание проблемы, было бы полезно, если бы вы объяснили, какие исследования вы пытались решить самостоятельно, а также какую конкретно информацию о найденной вами информации у вас были проблемы с пониманием. –

+1

Проверьте эту магическую ссылку http://tinyurl.com/q87mpe8 –

ответ

0
string input = "12px"; 
double size= Convert.ToDouble(Regex.Replace(input, @"[^\d\.]", "")); 
+0

Это удалит десятичную точку. – Boann

+0

Хорошая точка. Я исправил это. – anthonybell

2

Вы можете использовать string.replace (от, до), в вашем случае, вы можете использовать его как это:

double size = Convert.ToDouble("12px".Replace("px", "")); 

Если вы не хотите использовать string.replace() вы может также сделать это:

string pixelSize = "12px"; 
double size = Convert.ToDouble(pixelSize.Remove(pixelSize.Length - 3)); 
Смежные вопросы