C# Про конвертирование строки в Double (или любой другой тип с плавающей запятой)

Напоролся на тривиальный, но неприятный подводный камень. Функция Convert.ToDouble() по умолчанию смотрит на разделитель целой и дробной части, который указан в системных настройках. И если в строке разделитель другой, то генерирует exception, например, если конвертировать число 3.14, а в системных настройках в качестве разделителя указана не . (точка), а , (запятая), то программа вывалится с ошибкой.

Решение простое, с помощью второго параметра функции Convert.ToDouble() задать разделитель целой и дробной части. Вот пример функции-обертки над Convert.ToDouble(), с возможностью указания разделителя:

public static double ConvertToDouble(string Value, string DecimalSeparator)
        {
            NumberFormatInfo format = new NumberFormatInfo();
            format.NumberDecimalSeparator=DecimalSeparator;
            return Convert.ToDouble(Value, format);
        }

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

Код на PasteBin

Источник

MSDN

Весна в Гонконге

Кстати, началась весна, а я случайно обнаружил О-о-очень древнюю запись. Эмо-панк группа с характерным названием «Выхода нет». Трэк «Весна в Гонконге». Доложили, что тема петрозаводская. Не гуглил, не проверял, с авторами не связывался

Прямая ссылка

Слушайте. Текст — охуенный.

Метеошно-компьютерное

Расшифровка полей данных SYNOP и METAR в формате CSV

METAR
SYNOP

Скачать в ZIP

Взято с RP5.RU, и собственно, для работы с архивами погоды оттуда и предназначается. Описание полей выдирал L.S. из кода страничек.
Кстати, не сочтите за рекламу, но, ИМХО, это самый классный погодный сайт во всем интернете, не только в рунете, а во всем вообще! Потому что единственный, где можно взять наблюдения непосредственно с нужной метеостанции. Обычно показывают ближайшую к выбранному населенному пункту, но можно, немного изъебнувшись, найти нужную по WMO ID (кто не знает, это такой уникальный типа «айпишник» конкретной станции). Единственный минус — какая-то автоматизация получения данных, только за бабки, запросами выдрать не получается, сайт заскриптован наглухо, но за бабки дают XML, который можно крутить-вертеть, как хочешь.