NumberStyles в C#
По умолчанию Parse ждёт простую десятичную запись. Флаги
NumberStyles разрешают пробелы, знак, символ валюты или
шестнадцатеричные цифры. Обычные флаги можно сочетать.
Шестнадцатеричные цифры включают отдельно и не смешивают их с десятичной точкой, знаком или валютой.
Строка "FF" состоит из шестнадцатеричных цифр и не содержит префикса "0x". С разрешением на такие цифры разбор проходит. Без этого разрешения разбор завершился бы ошибкой формата:
using System.Globalization;
int n = int.Parse("FF", NumberStyles.AllowHexSpecifier);
Console.WriteLine(n); // выведет 255
Разберите строку "$12" в культуре en-US и выведите число в консоль.
Разберите ту же строку "$12" в культуре ru-RU и покажите, что разбор не удался.