Как европейцы пишут список чисел с десятичными знаками?

Как я понимаю, европейцы (*) пишут числа с запятой для десятичного разделителя, поэтому один с четвертью пишется как 1,25

европейцы также используйте запятые для разделения списков, так как вы пишете список десятичных чисел? Я, как англичанин, написал бы так: "полтора, полтора, три четверти".--3-->

1.25, 1.5, 1.75

Как вы это делаете в Европе?

(почему это вопрос программирования? Потому что я пишу программу это попросит европейских пользователей о списке номеров!)

* для целей этого вопроса в Европе нет англоязычных стран. :-)

4 ответов


Это зависит от культуры, в рамках культуры. Данные CLDR содержат " список " element, который задает символ разделителя списка, и это точка с запятой для большинства культур, см. диаграмма числовых символов (элемент "список"). Однако определение очень неявное, и внутри локалей есть вариации. Некоторые люди считают 1,25, 1,5, 1,75 приемлемыми, в то время как другие предпочитают 1,25; 1,5; 1,75. Есть также люди, которые серьезно думают, что в сильно математический или числовой контекст, следует отклониться от практики локали и использовать англосаксонскую нотацию с десятичной запятой, следовательно, с запятой в качестве разделителя.

с практической стороны, я думаю, что было бы не очень неправильно использовать ";" в качестве разделителя списка чисел, когда используется десятичная запятая или даже когда используется десятичная точка. Поэтому вы можете даже рассмотреть возможность использования "; " во всех локалях.

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

Если возможно, запросите для каждого номера отдельно, избегая проблемы с разделителем. Если это невозможно, важно сделать его очень, очень ясным для использования, какой сепаратор ожидается. Я бы даже сказал, что требование точки с запятой"; " - это самая надежная вещь.


Я Европейский (французский), и почти во всех программах здесь мы должны использовать точки с запятой ';' как разделитель, даже если числа являются только целыми числами, потому что запятая не выглядит как разделитель для нас. В математике точки с запятой-единственный правильный способ разделить список чисел.

наиболее распространенным примером является то, когда нам нужно ввести номера страниц, которые мы хотим напечатать в PDF, все программы запрашивают список с запятой, и я явно нашел его интуитивно понятным. Я думаю они бы изменили его, если бы это было неудобно для некоторых.


зачем спрашивать о европейцах вообще ? Я не думаю, что есть один европейский способ сделать это, и если это произойдет, то это будет чистой удачей. Европа состоит из разных культур, и каждая имеет свои правила.

вы не упоминаете, какую платформу вы используете, но вы можете полагаться на свою plaform для получения этой информации. В случае .NET вы можете получить эту информацию через Textinfo.ListSeparator. Например, это даст вам французский (результат: точка с запятой):

string listSeparator = new CultureInfo("fr-FR").TextInfo.ListSeparator;

Я не думаю, что есть один способ сделать это. Пробел, разделяющий числа, будет работать одинаково, или вы можете использовать точку с запятой (';') для разделения чисел