В С#:
Это выдает a FormatException
, который, похоже, не должен:
Int32.Parse("1,234");
Это не так, как обычно:
Single.Parse("1,234");
И удивительно, что это отлично разбирается:
Single.Parse("1,2,3,4"); //Returns 1234
Моя локальная культура - EN-US, поэтому ,
- разделитель тысяч по умолчанию char.
Основной вопрос: Почему непоследовательность?
Также: Почему работает Parse("1,2,3,4")
? По-видимому, перед разбором просто удаляются все экземпляры локального разделителя char. Я знаю, что дополнительные избыточные накладные расходы будут выполняться в регулярном выражении или что-то в этом роде, но когда числовой литерал "1,2,3,4" не будет опечаткой?
по теме: С# Decimal.Parse issue с запятыми