コンマ(英: comma)は、カンマとも呼ばれ、約物のひとつ。文の区切り、数字の区切り、小数点などに用いられる。

## 文の区切り

欧文では文の途中の区切りにもっぱらコンマが用いられる。英語のようにコンマを打つか打たないかが比較的厳密に定められている言語と、筆記者の自由に任される言語とがある。

日本語の縦書き文書では文の途中の区切りにもっぱら読点(、)を用いる。これに対して、横書き文書では読点を用いるスタイルとコンマを用いるスタイルの2つのスタイルがある。

日本語の横書きでコンマを使用する場合、次のようにベースライン上に置かれる。

### 日本語の公用文

日本語の公用文においては、縦書きおよび横書きを問わず、読点には「、」を用いることが原則である。

2022年(令和4年)以前には、公用文においては、横書きではコンマを用いるとしていた時代があった。1952年(昭和27年)の「公用文作成の要領(2022年廃止)」においては、横書きではコンマを用いるとしていた。一方、旧自治省が1959年(昭和34年)に定めた「左横書き文書の作成要領」では、横書きではコンマを用いず読点を用いるとしていた。

### 中国語

中国語では、縦書きでもコンマを用いる。中華人民共和国では縦書きでは右上に寄せてコンマを打つことになっており、Unicode 7.0 ではこのために U+FE10 が追加された。台湾や香港の中国語の文章では、縦書き・横書きを問わず、漢字1文字分のスペースの中央に置かれることも多い。

## 数字の区切り

コンマは、数字の桁の区切りにも使用される。

### 日本における桁区切り

日本における桁区切りは、次の2通りの書き方があり得る。

- 欧米および「公用文作成の要領」に従って「3桁ごと」とする

- 万・億・兆といった単位に合わせて「4桁ごと」とする

実際には後者の「4桁ごと」はほとんど使われていない。

### 英語圏諸国における桁区切り

英語圏諸国では、数字の3桁ごとの区切り(桁区切り)にコンマを用いる。英語では、thousand(, ten thousand, hundred thousand), million, ... と、3桁ごとに大きい数の単位が変わるからである。当然、読むときは右から thousand, million, billion, trillion と単位に置き換えたいのだから、日本語のように「1234,5678,9012,3456」では不都合なのである。

| 数値 | 英語による読み方 |
| --- | --- |
| 1 | one |
| 10 | ten |
| 100 | one hundred |
| 1,000 | one thousand |
| 10,000 | ten thousand |
| 100,000 | one hundred thousand |
| 1,000,000 | one million |
| 10,000,000 | ten million |
| 100,000,000 | one hundred million |
| 1,000,000,000 | one billion |
| 10,000,000,000 | ten billion |
| 100,000,000,000 | one hundred billion |
| 1,000,000,000,000 | one trillion |

なお、1兆は通例 one trillion だが、one million million で表現されることもある。

### インドにおける桁区切り

インドにおける桁区切りには、イギリス、米国、中国などと同じく、コンマを用いるが、数字列におけるコンマの位置は独特である。現地語の位取りの読み方にしたがい、はじめの3桁(千の位)の位置、その後は2桁ごと(10万の位、1千万の位、10億の位...)にコンマを置く。

### 科学技術の分野

科学技術の分野では、3桁ごとの桁区切りにコンマを用いず、空白(スペース)を用いる。その理由は、ヨーロッパ大陸(フランス、ドイツ、イタリア、ロシアなど)では桁区切りにピリオドを、小数点にコンマを用いるのに対し、イギリス、米国、中国、日本ではこれとは逆に、桁区切りにコンマを、小数点にピリオドを用いるので、この違いによる重大な誤読を防ぐためである。詳細は小数点#二つの方式を参照のこと。

## 小数点

ヨーロッパ大陸の国々(フランス、ドイツ、イタリア、スペインなど)では、小数点にコンマを用いる。この場合、3桁ごとの桁区切りにはピリオドやスペースを用いる。

日本でも、小数点を「コンマ」と言い表すことがあり、例えば、0.3秒を「コンマ3秒」と言う。また「コンマ以下(人の価値、度量、人物が人並み以下であること)」という言い回しがある。これらは、明治期に小数点としてコンマを用いるフランスの方式が入ったことによる。

## 数学

数学では$1,\,2,\,3,\,\ldots ,\,n$のように、数列を表記する際にコンマが用いられる。また、多変数の関数において、$f(x,\,y,\,z)$のように変数の区切りにコンマが用いられる。区間を表す際に$[a,\,b]$や$(a,\,b)$といった形でコンマが用いられる。

二次以上の方程式が複数の解を持つとき、コンマで区切って並べる形で表記されることもある。例えば二次方程式$(x-1)(x+2)=0$があるとすると、解は「$x=1$ または $x=-2$」となるが、「$x=1,\,-2$」という書き方もある。

## プログラミング

コンピュータおよびプログラミングは、もともとアメリカ合衆国で発達したことから、アメリカ英語のスタイルの影響を強く受けている。多くのコンピュータ言語およびプログラミング言語のソースコードでは、配列のような複数のデータ集合の初期値を与える初期化子リストや、サブルーチン(関数)の引数リストといった構文における要素の区切り文字にコンマ`,`が使われ、実数(浮動小数点数)のリテラル表記の小数点にはピリオド`.`が使われる。一方、関数型プログラミング言語ではタプルの区切りにコンマを使い、コレクション要素の区切りにセミコロン`;`や改行を使い、関数の引数リストの区切りにスペースを使うなどといった構文仕様になっていることも多い。

国際化対応の観点から、数値を文字列に変換したり、文字列を数値に変換したりする際は、コンピュータシステムの表示言語や地域といった何らかの環境設定に応じて小数点の記号が決定されるようになっていることが多い。C言語のprintf/scanfやstrtodなどは、ロケール (locale) の設定に応じて小数点の記号がピリオドまたはコンマに変化する。.NETではロケールに対応する概念はカルチャ (culture) と呼ばれている。しかし、数値データをテキストファイルで読み書きする場合、もしプログラム実行環境のロケールに応じて数値変換動作におけるコンマの扱いが変わってしまうと、他の環境で作成されたファイルを読み書きする際に支障をきたす可能性がある。対策としては、テキストによる数値データのシリアライズと逆シリアライズには必ずCロケールを利用する(ピリオドを小数点の記号とする)ようにプログラミングすることが挙げられる。Comma-Separated Values (CSV) のように、テキストフィールドの区切り文字にコンマを使用することが想定されているファイル形式もあるが、ロケールによっては区切り文字にセミコロンが使用される場合もある。CSVの代替として、ロケールに中立なTab-Separated Values (TSV) が使われることもある。

なお、C/C++やJavaScriptといった一部の言語では、特殊な演算子の1つとしてコンマ演算子が規定されており、コンマは区切り文字として使われるだけでなく、文脈によっては演算子としても使われる。

## 名称・歴史

英語: comma、ドイツ語: Komma は 古代ギリシア語: κόμμα (切片)に由来し、もとは修辞学の用語で、コロンより短い節を意味した。コンマを表すのには古くは斜線(/)を用いていた。現在のコンマ記号は斜線から変形したものである。フランス語: virgule は「小さな棒」を意味するラテン語: virgula に由来し、コンマ記号が斜線であった時代を反映している。

## 符号位置

Unicodeで文字名称にCOMMAの含まれる文字は下記である。

| 記号 | Unicode | JIS X 0213 | 文字参照 | 名称 |
| --- | --- | --- | --- | --- |
| , | `U+002C` | `1-1-4` | `&#x2C;` `&#44;` | コンマ   COMMA |
| , | `U+FF0C` | `1-1-4` | `&#xFF0C;` `&#65292;` | コンマ(漢字圏の用途向け) FULLWIDTH COMMA |
| ʻ | `U+02BB` | `-` | `&#x2BB;` `&#699;` | MODIFIER LETTER TURNED COMMA 「ʻ」を参照 |
| ʽ | `U+02BD` | `-` | `&#x2BD;` `&#701;` | MODIFIER LETTER REVERSED COMMA |
| ، | `U+060C` | `-` | `&#x60C;` `&#1548;` | ARABIC COMMA |
| ᠂ | `U+1802` | `-` | `&#x1802;` `&#6146;` | MONGOLIAN COMMA |
| 、 | `U+3001` | `-` | `&#x3001;` `&#12289;` | IDEOGRAPHIC COMMA 読点 |
| , | `U+FE10` | `-` | `&#xFE10;` `&#65040;` | PRESENTATION FORM FOR VERTICAL COMMA |
| 、 | `U+FE11` | `-` | `&#xFE11;` `&#65041;` | PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC COMMA |
| , | `U+FE50` | `-` | `&#xFE50;` `&#65104;` | SMALL COMMA |
| 、 | `U+FE51` | `-` | `&#xFE51;` `&#65105;` | SMALL IDEOGRAPHIC COMMA |
| 、 | `U+FF64` | `-` | `&#xFF64;` `&#65380;` | HALFWIDTH IDEOGRAPHIC COMMA |
| ፣ | `U+1363` | `-` | `&#x1363;` `&#4963;` | ETHIOPIC COMMA |
| ̒ | `U+0312` | `-` | `&#x312;` `&#786;` | COMBINING TURNED COMMA ABOVE |
| ̓ | `U+0313` | `-` | `&#x313;` `&#787;` | COMBINING COMMA ABOVE |
| ̔ | `U+0314` | `-` | `&#x314;` `&#788;` | COMBINING REVERSED COMMA ABOVE |
| ̕ | `U+0315` | `-` | `&#x315;` `&#789;` | COMBINING COMMA ABOVE RIGHT |
| ̦ | `U+0326` | `-` | `&#x326;` `&#806;` | COMBINING COMMA BELOW |
| ꓾ | `U+A4FE` | `-` | `&#xA4FE;` `&#42238;` | LISU PUNCTUATION COMMA |
| ᠈ | `U+1808` | `-` | `&#x1808;` `&#6152;` | MONGOLIAN MANCHU COMMA |
| ߸ | `U+07F8` | `-` | `&#x7F8;` `&#2040;` | NKO COMMA |
| ꘍ | `U+A60D` | `-` | `&#xA60D;` `&#42509;` | VAI COMMA |
| ՝ | `U+055D` | `-` | `&#x55D;` `&#1373;` | ARMENIAN COMMA |
| ꛵ | `U+A6F5` | `-` | `&#xA6F5;` `&#42741;` | BAMUM COMMA |