Десятичный разделитель

Десятичный разделитель

04.09.2021


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

В англоязычных странах (кроме ЮАР), в Китае и бывших британских колониях в качестве десятичного разделителя используется точка ., в большинстве остальных стран — запятая ,.

Выбор символа для десятичного разделителя влияет и на выбор знака разделителя групп разрядов, который используется для того, чтобы упростить чтение больших чисел. В России для этого используют пробел, но иногда используется точка. В свою очередь, в англоязычных странах для этого используют запятую. С 1992 года международный стандарт ISO 31-0 рекомендовал не использовать для группировки цифр числа ни точки, ни запятые, но исключительно неразрывный пробел.

История

В Средние века, в допечатную эпоху, было принято надчёркивать ¯ целую часть числа. Таким способом пользовался, например, ал-Хорезми. Позже для этих целей стал применяться небольшой вертикальный штрих ˌ (символ U+02CC). Уже после начала книгопечатания этот штрих стало естественным отображать либо точкой, либо запятой. Этот процесс в большинстве европейских стран прошёл в XVII веке, в частности, во Франции десятичная система приняла современную форму в работе Мари Кроус, изданной в 1641 году. Большинство стран выбрали в качестве десятичного символа запятую. Однако англоязычные страны предпочли точку, а запятую стали использовать как разделитель групп разрядов.

В США в качестве десятичного разделителя использовалась точка. В Британской империи в рукописной записи также использовали точку, однако в типографском наборе предпочтительнее был интерпункт — точка, расположенная на середине строки ·. Но такой символ уже был общеупотребительным в математике для обозначения операции умножения, и система единиц СИ не допускала его использования в качестве разделителя. В то же время использование точки допускалось. Поэтому в Британии постепенно переняли американскую систему.

В ЮАР при принятии метрической системы в качестве разделителя стали использовать запятую, заменив принятую в бывших британских колониях точку.

Искусственные языки интерлингва (с 1950 года) и эсперанто (с 1887 года) также предписывают в качестве десятичного разделителя использовать запятую.

В большинстве международных организаций (таких, как Международное бюро мер и весов и ISO) до 1997 года во всех языках, включая английский, в качестве десятичного разделителя рекомендовалось использовать только запятую. Затем постепенно начался процесс признания точки в качестве десятичного разделителя, увенчавшийся принятием в 2003 году нормы ISO 31-0, допускающей использование как точки, так и запятой.

В арабских странах, Иране и Афганистане в качестве десятичного разделителя используется похожий на запятую, но особый символ мумаййиз (араб. مميّز‎, разделитель): ٫ (U+066B).

Нормативные акты и практика в России

В нормативно-правовых актах России (в частности в ГОСТах) нет положений, устанавливающих обязательное употребление запятой в качестве десятичного разделителя во всех сферах документации и обмена данными.

  • ГОСТ 8.417—2002 («Единицы величин») пользуется только запятой, но сам по себе в качестве десятичного разделителя её не устанавливает.
  • ГОСТ 6.20.1—90 («Электронный обмен данными в управлении, торговле и на транспорте») в качестве десятичного разделителя допускает запятую и точку.
  • ГОСТ 2.004—88 («Общие требования к выполнению конструкторских и технологических документов на печатающих и графических устройствах вывода ЭВМ») также допускает оба варианта в примечании к пункту 1.9 (0,25=0.25).
  • ГОСТ 1.5-2001 ("Стандарты межгосударственные, правила и рекомендации по межгосударственной стандартизации. Общие требования к построению, изложению, оформлению, содержанию и обозначению") запрещает использование точки в качестве разделителя десятичной дроби (пункт 4.15.2 "При записи десятичных дробей не допускается заменять точкой запятую, отделяющую целую часть числа от дробной.").

Авторы русскоязычных статей в ведущих математических и естественнонаучных журналах РАН в качестве десятичного разделителя используют как точку, так и запятую.

ГОСТ Р 2.105-2019 («Единая система конструкторской документации. Общие требования к текстовым документам») предполагает в качестве десятичного разделителя использование запятой (пункт 6.16.8 «Числовые значения величин в тексте следует указывать со степенью точности, которая необходима для обеспечения требуемых свойств изделия, при этом в ряду величин осуществляется выравнивание числа знаков после запятой.»)

Разделитель групп разрядов

Для упрощения чтения цифры в больших числах слева (а иногда и справа) от знака десятичного разделителя могут быть разделены на группы специальным символом — разделителем групп разрядов. Разбивка на группы осуществляется, начиная от десятичного разделителя. Как правило, группы состоят из трёх цифр. В то же время в некоторых странах числа традиционно делятся на группы из двух или четырёх цифр. Деление на группы, как правило, не осуществляется, если с соответствующей стороны от десятичного разделителя не больше четырёх или пяти цифр.

Так же, как и в случае с десятичным разделителем, для разделителя групп разрядов используются разные символы. Если в качестве десятичного разделителя используется точка, то разделитель групп разрядов может быть представлен запятой, апострофом или пробелом, а если запятая, — то точкой (например, такая запись прежде использовалась в испанском языке, теперь устарела) или пробелом. Таким образом, значение точки и запятой оказывается зависимым от контекста (например, запись 1,546 в английской нотации обозначает одна тысяча пятьсот сорок шесть, а в русской — одна целая пятьсот сорок шесть тысячных). Поэтому, чтобы избежать неоднозначности, международные стандарты (ISO 31-0, Международное бюро мер и весов, ИЮПАК) рекомендуют использовать для разделителя групп разрядов только неразрывный пробел (или тонкую шпацию при типографском наборе).

Десятичные разделители в странах и языках

Распространение систем обозначений

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

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

В большинстве языков программирования в качестве десятичного разделителя используется точка, а при разработке языка Алгол между разработчиками разыгралась «десятичная буря» (см. в статье о языке Алгол): европейцы требовали выбрать запятую, а американцы — точку.

Некоторые языки программирования — Ada, C# (с версии 7.0), D, Haskell (с версии 8.6.1), Java, OCaml, Perl, Python (с версии 3.6), PHP (с версии 7.4), Ruby, Go (с версии 1.13), Rust, Julia и Swift для удобства чтения поддерживают в качестве разделителя символ _ (подчеркивание, Юникод U+005F). Так, в этих языках число 700000000 можно записать подобным образом: 700_000_000.