конвертировать строку из базы данных в двойную

в команде оболочки:

echo "bar embarassment" | sed "s/\bbar\b/no bar/g" 

или:

echo "bar embarassment" | sed "s/\<bar\>/no bar/g"

, но если вы находитесь в vim, вы можете использовать только позже:

:% s/\<old\>/new/g
-4
задан sujith karivelil 13 July 2018 в 04:25
поделиться

1 ответ

Метод Convert.ToDouble будет кидать FormatException , если значение не является числом в допустимом формате. Вы получаете то же самое здесь означает, что либо значение в previousTimeVASN не является числом или оно не находится в ожидаемом формате. Ниже приведен альтернативный вариант, чтобы проверить, возможно ли преобразование, т. Е. Double.TryParse Method

Преобразует строковое представление числа в определенный стиль и формат, специфичный для конкретной культуры, для эквивалента числа с плавающей запятой с двойной точностью. Возвращаемое значение указывает, было ли преобразование успешным или неудачным.

Таким образом, код можно обновить следующим образом:

if (swVASN.IsRunning)
{
     TimeSpan tsVASN = swVASN.Elapsed;
     double test = tsVASN.TotalSeconds;
     double test1;
     Double.TryParse(previousTimeVASN, out test1);
     txtVASN.Text = (test + test1).ToString(); 
}

, если вы хотите предупредить пользователя что второе число недопустимо, вы можете использовать возвращаемое значение синтаксиса, например следующее:

if(Double.TryParse(previousTimeVASN, out test1))
   txtVASN.Text = (test + test1).ToString(); 
else
   txtVASN.Text = "previous Time VASN is not valid:'
1
ответ дан sujith karivelil 17 August 2018 в 13:41
поделиться
  • 1
    Большое вам спасибо. Я не заметил, что я уже сохранил нечисловой текст в previousTimeVASN. после того как я исправил его, он работает отлично. еще раз. Спасибо! – user9939859 13 July 2018 в 07:22
Другие вопросы по тегам:

Похожие вопросы: