Русская Википедия:Десятичный разделитель

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Файл:DecimalSeparator.svg
Десятичные разделители в разных странах:
Шаблон:Легенда Шаблон:Легенда Шаблон:Легенда Шаблон:Легенда Шаблон:Легенда

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

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

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

История

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

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

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

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

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

В арабских странах, Иране и Афганистане в качестве десятичного разделителя используется похожий на запятую, но особый символ мумаййиз (Шаблон:Lang-ar, разделитель): ٫ (U+066B)[5][6].

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

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

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

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

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

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

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

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

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

Использование различных знаков в качестве десятичного разделителя по континентам и странам, а также в искусственных языках
Австралия и Океания Америка Азия Африка Европа Искусственные языки
Точка .
Австралия, Новая Зеландия Англоязычная Канада, Мексика, США, Перу Бруней, Израиль, Индия, Китай, КНДР, Малайзия, Пакистан, Сингапур,Тайвань, Таиланд, Филиппины, Шри-Ланка, Южная Корея, Япония Ботсвана, Египет, Зимбабве, Нигерия Великобритания, Ирландия, Швейцария
Запятая ,
Вся Южная Америка, кроме Перу,
а также Гватемала, Гондурас, Доминиканская республика, франкоязычная Канада, Куба, Никарагуа, Панама, Сальвадор
Вьетнам, Индонезия, Турция Камерун, ЮАР Вся Европа, кроме Великобритании и Ирландии Интерлингва и эсперанто.
Мумаййиз ٫
Афганистан, Бахрейн, Ирак, Иран, Катар, Кувейт, ОАЭ, Оман, Саудовская Аравия, Сирия

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

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

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

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

Некоторые языки программирования — Ada, C# (с версии 7.0), D, EcmaScript, 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.


Примечания

Шаблон:Примечания

Шаблон:Математические знаки

  1. СЭВ PC 2625—70.
  2. Jean-Pierre Poirier, Histoire des femmes de science en France: du Moyen Age à la Révolution, Pygmalion/Gérard Watelet, 2002, p.380.
  3. Шаблон:Cite web
  4. Шаблон:Cite web
  5. Шаблон:Cite web
  6. Descriptive Grammar of New Persian (archived)
  7. 7,0 7,1 Шаблон:Cite web
  8. 8,0 8,1 Шаблон:Cite web
  9. Шаблон:Cite web
  10. Шаблон:Cite web
  11. Шаблон:Cite web
  12. Пример испанского форматирования чисел на MSDN[1] Шаблон:Wayback.
  13. Шаблон:Cite web
  14. Шаблон:Cite web: «Following the 9th CGPM (1948, Resolution 7) and the 22nd CGPM (2003, Resolution 10), for numbers with many digits the digits may be divided into groups of three by a thin space, in order to facilitate reading. Neither dots nor commas are inserted in the spaces between groups of three».
  15. Шаблон:Книга