命数法（めいすうほう、, または system of numeration）とは、数を名付ける法、即ち与えられた数を表わすための、一連の方式・規則・対応である。

概要 
命数法とは、数値を表すときの数詞の体系であり、言語により異なる。例えば、1桁の数値では「四の次」を表す数詞(5)を、日本語では「五」、英語では"five"（ファイブ）、ドイツ語では"fünf"、ラテン語では"quinque"という。同じく、十進数における「十の四乗」を表す数(10,000)を、日本語では「一万」、英語では"ten thousand"（テン・サウザンド、十千）と呼ぶ。これらの組み合わせにより任意の数値を表すことができる。言語により同じ数値命数法のうち、数字を用いて数を表す方法を記数法という。

命数には、一般に「一」や「三」など自然数を表す数詞、「零」など無を表す数詞、「百」や「千」など何かの冪乗を表す数詞とがある。

位取りは十進法が圧倒的に多いが、十進法に囚われる必要は無く、十二進法や二十進法も散見される。十を超える数で、十進法から独立している数詞として、十二を意味する"dozen"（日本語ではダース）や"打"（→:zh:打）、百四十四を意味する"gross"（グロス）、千七百二十八を意味する"great gross"、二十を意味する"score"（スコア）や"vingt"（フランス語）や"廿"や"kal"（マヤ数詞、以下同じ）、四百を意味する"bak"、八千を意味する"pic"などがある。

以下の記述においては、まず大数の命数法と小数の命数法に大別して解説する。

大数の命数法

万進法系の命数法

中国に由来する漢数字では、以下の数詞で大数を示す。

 一、十、百、千、万、億、兆、京、…

中国の算術書である後漢の徐岳『』や北周の甄鸞『』に、大数の単位が記されているが、当時は載までであり、また𥝱は本来は秭であり、それが日本の『塵劫記』で字形が変化したものである。これらの文献によると、万より大きい数詞の示す値には3種類あり、統一されていなかった。下数、中数、上数である。

当初は万（104）を区切りとして十万（105）、百万（106）、千万（107）まで表していた。これとは別に、万から1桁ごとに億（105）、兆（106）、と名付けていた。これを下数（かすう）と呼ぶ。

漢代あたりから、上数（じょうすう）が文献に記載され始めた。数詞が表す位の2乗が次の数詞となる。万万が億（108）であるのは今日と同じであるが、次は億億が兆（1016）、兆兆が京（1032）となる。実際に使われたことはないようであり、数学書では用いられていない。

その後、千万の次を億とし、十億（109）、百億（1010）と続けていく方法が考案された。これを中数（ちゅうすう）という。ただし、初期の数学書に示されている中数は万万（108）倍ごとに新たな名称をつける方式であった。すなわち、千億（1011）、万億（1012）、十万億（1013）と続き、億の万万倍を兆（1016）、兆の万万倍を京（1024）とする。これを万万進という。後に、万倍ごと、すなわち万万を億、万億を兆（1012）とする万進（まんしん、万進法（まんしんほう））に移行した。

元の朱世傑による算学啓蒙で初めて、極以上の単位（そのうち恒河沙以上は仏教に由来する名称）が加わったが、当時不可思議の上は無量大数ではなく無量数であり、明の程大位による算法統宗でも同様であった。極以上の単位は基本的に中数（万進・万万進）のみで使われ、下数や上数で使われることはなかったが、ただ日本の『塵劫記』初版で極以下を下数としており、それによれば極は1015ということになる。

日本では、1627年（寛永4年）の『塵劫記』の初版において初めて大きな数が登場するが、極以下が下数、恒河沙以上を万万進の中数（恒河沙＝1023、阿僧祇＝1031、那由他＝1039、不可思議＝1047）としていた。1631年（寛永8年）の版では極以下が万進（恒河沙以上は万万進のまま）に改められ、それとともに算学啓蒙・算法統宗にあった不可思議の上の無量数も無量大数という名称として組み込まれた。そして1634年（寛永11年）の版ではすべて万進に統一された。今日でも万進だけが使用されている。

読み方の例を以下に示す。
 1 0000 : 一万 (いちまん)
 983 6703 : 九百八十三万 六千七百三 (きゅうひゃくはちじゅうさんまん ろくせんななひゃくさん)
 20 3652 1801 : 二十億 三千六百五十二万 千八百一 (にじゅうおく さんぜんろっぴゃくごじゅうにまん せんはっぴゃくいち)

アラビア数字が使われる場合は、英語のように3桁ごとにコンマが入れられる。アラビア数字と漢数字が同時に使われる場合は、1万以下の数字についてアラビア数字の書き方が使われる場合がある（例: 25,000,000を2,500万と表記する場合)。

大きな数字が漢字で表されるときは、ほとんどの場合でゼロが省かれる。例えば、4002はゼロを表す中国語での「四千零二」ではなく、四千二と表されることが多い。ただし、決算書を読み上げる場合、読まない桁は、「飛び」または「飛んで」で示される場合がある。例えば、通常の「よんせんに」の代わりに、「よんせんとびに」または「よんせんとんでに」のようにもなる。

中国では、近代まで万万進と万進が混用されたままであった。それに加えて、メートル法の接頭語のメガ（106）に「兆」（下数における 106）の字をあてたため、さらに混乱が生じた。今日では、「億」は中数の 108、「兆」は下数の 106 の意味となっており、兆より億の方が大きくなっている。日本でいう兆（1012）は「万億」といい、京以上については、例えば 1016 は「万万億」または「億億」のように呼んでいる。台湾と朝鮮半島では植民地時代に、日本の命数法（万進）が導入されていたので、兆は 1012 であるが、京以上の命数はほとんど用いられていない。

ベトナムでは西洋式に3桁ずつ新しい名称が使われるが、106を「」（兆）、109を「」（秭）と呼ぶ。これは下数にあたる。

『塵劫記』での命数は以下のようになっている。

位の大きなものの名称については版によって相違がある。併記した記数は万進による。

以下の表に各方式での大数の命数法を示す。

なお、無量大数を「無量」と「大数」に分けて説明しているものもあるが、これは『塵劫記』で無量と大数の間に傷ができて間隔があき、別の数のように見える版があったためである。無量大数で一つの数とするのが普通である。

3文字以上の単位は、インドから由来したものが多い。恒河沙はもともと仏教の聖典で無限に大きな数を表すのに使われていた位で、गङ्गा（ガンジス川）から由来している。阿僧祇はअसंख्येय（不可算）から、那由他はनयुत/नयुतःから由来している。それより大きな数の単位は、仏教の単語が中国語に翻訳され、後に単位を与えられたものである。

千進法系の命数法

西洋の諸言語の命数法には、long scale（ロングスケール）とshort scale（ショートスケール）と呼ばれる2種類がある。これは漢字文化圏でいう万万進と万進の関係に似たものである。万万進と万進の関係と同様に、一部の数詞においては、双方の命数法でそれぞれ異なる数が割り当てられている (「billion」「trillion」など)。long scaleやshort scaleは標準的な用語ではないが、意味するところが明確なので、百科事典や科学的な文章でしばしば使われる。

19世紀から20世紀の大部分では、イギリスでは前者のみ、アメリカでは後者のみが使われていた。それ故、それぞれ「イギリス式」、「アメリカ式」とも呼ばれるが、今日ではイギリスでも後者が使われるため、「イギリス式」という表現は正確ではない。

歴史上フランスでは双方共に用いられており、19世紀はじめには広範囲でshort scaleに移行した。アメリカはこれに従ったもので、long scaleを使用していた20世紀初頭のイギリスにおいてアメリカでは方式が違うことに注意を呼びかけている。しかし、現在ではフランスも他の英語圏を除くヨーロッパ諸国に合わせてlong scaleに落ちつき、それとは逆にイギリスではshort scaleに移行するという複雑な経緯を辿っている。

1948年、国際度量衡総会はlong scaleの普遍的な使用を提案し、short scaleを使っている国々にlong scaleに戻すよう呼びかけた。しかし、英語圏においては上述の通りアメリカを筆頭にイギリスが移行したこともあり、現在では一般的にshort scaleが使用されている（歴史も参照）。

long scaleとshort scaleの比較 
英語の場合は、以下のようになる。千進（せんしん、千進法（せんしんほう））が使われる。

millionは、イタリア語で千を意味する “mille” に、拡大接尾辞（他の語の後ろについて意味を誇張する）“-one” がついた “millione” （現代の正書法では milione）が語源である。
bi-（バイ）は2を、tri-（トライ）は3を、quadr-（クアドラ）は4を、quint-（クイント）は5を表すラテン語に由来する倍数接頭辞。
short scaleでは、1,000倍するごとに新しい名前がつく （千進（せんしん）、千進法（せんしんほう）、thousand millions = billion, thousand billions = trillion, ...）。
long scaleでは、1,000,000倍するごとに新しい名前がつく （百万進（ひゃくまんしん）、百万進法（ひゃくまんしんほう）、million millions = billion, million billions = trillion, ...）。
古語に十億を表すmilliardがあるが、英語では使われることはない（言語によっては使われる）。だが金融市場においては、誤解を避けるために十億を "yard"（milliardに由来）と言うことがある。
より大きな数の表し方については、数の比較を参照。

歴史

現在の使用状況

short scaleを用いる国

英語圏 
現在英語圏の多くの国でshort scaleが用いられている。以下はその一部である。
アメリカ
カナダ（英語話者）
イギリス
アイルランド
オーストラリア

英語圏以外 
109 = milliard、1012 = trillion
ロシア - 109は一般に (milliard)（ロシア語）と呼ばれる。1012以上はshort scaleの言い方をする。
ウクライナ
ベラルーシ
エストニア
ラトビア
リトアニア
ジョージア
アルメニア
ルーマニア
モルドバ
ブルガリア - 109は一般に (miliard)（ブルガリア語）と呼ばれる。1012以上はshort scaleの言い方をする。
アルバニア
トルコ - 109は一般に（トルコ語）と呼ばれる。1012以上はshort scaleの言い方をする。
トルクメニスタン
アゼルバイジャン
カザフスタン
キルギス
タジキスタン
ウズベキスタン
アラビア語圏諸国
イスラエル
インドネシア

109 = billion、1012 = trillion
ブラジル - ポルトガル語を話すが、ポルトガルと異なり、109はbilhão、1012はtrilhãoといった言い方をする。
プエルトリコ - スペイン語の話されるアメリカ領で、一般に経済・技術に関することではshort scaleが用いられる（109はbillón、1012はtrillón）。一方、プエルトリコ外のラテンアメリカの人に向けた刊行物ではlong scaleが用いられる。
ブルネイ
ミャンマー
アフガニスタン（109はmilliardも行われる）

独自の名称
ギリシア - 109をdisekatommyrio（「二-百-万」の意）、1012をtrisekatommyrio（「三-百-万」の意）という。
キプロス

long scaleを用いる国 
英語圏と東欧を除く多くの大陸ヨーロッパの国々ではlong scaleを使う。
例
Milliard
フランス語・デンマーク語・ノルウェー語: milliard、、、、（の方が頻繁に用いられる）、、、（ということもある）、、、スロベニア語・クロアチア語・セルビア語: milijarda、 - 皆109を表す。
Billion
フランス語・デンマーク語・ノルウェー語: billion、、、、、ポーランド語・セルビア語: bilion、（ということもある）、、、ポルトガル語（ポルトガル）: 、、 - 皆1012を表す。

用法

"thousand milliard" の使用 
Milliardを用いるこれらの国々において "thousand milliard" という用語が時折使われるが、これは予算についての文脈でのみである。「ドイツの国債が2004年末の時点で約1418 milliardユーロ（1兆4180億ユーロ）であった」というように、milliardは予算の単位としては主要なものとなっている。予算以外については、1012はthousand milliardではなくbillionという。

イタリアでの用法 
19世紀にはshort scaleを用いていたが20世紀になってlong scaleに戻したヨーロッパの国は2つあるが、イタリアはその1つである（もう1つはフランス）。

イタリア語では、bilioneという単語は公式には1012を意味するが、口語では109と1012のいずれをも意味し得る。またtrilioneも、1012と（まれに）1018のいずれをも意味する。そのため、曖昧さを避けるために、こうした単語を使う人はほとんどいない。一般には1012はmille miliardi (a thousand milliards)、1015はun milione di miliardi、1018はun miliardo di miliardi、1021はmille miliardi di miliardiという方が多い。

英語圏での用法

アメリカでの用法 
アメリカ合衆国では、19世紀初頭から学校でshort scaleが教えられてきた。そのため、専らshort scaleのみが用いられている。

他の国々 
アメリカ以外の国では何世紀にもわたってlong scaleが用いられてきた。従って、long scaleの使用もいまだ続いており、そのためshort scaleの公式の立場がはっきりしていない。

イギリスでの用法 
イギリス英語においてmilliardという用語は今や時代遅れであり（派生語のyardは使われる。#long scaleとshort scaleの比較を参照）、現在では刊行物でも筆記物でもbillionが109以外を意味することはない。イギリス政府もBBCも専らshort scaleを用いている。イギリス英語で1012の意味でbillionを用いた場合、誤解される可能性が高い。

オーストラリアでの用法 
オーストラリアでは、2つの物を同じmillionの単位で比較するときなど、109をthousand millionと表すこともある。1999年現在、オーストラリア政府の財務省はshort scaleが標準であるとは見なしていないが、時折short scaleを使っている。Australian Department of Finance and Administration（AusInfoとして知られる）は現在、short scaleを推奨しており、法的定義もshort scaleである。教育、放送局、文学においても、他の英語圏と同様にshort scaleを用いている。

インドでの用法 
他の英語圏の国と同様、現在、インドもアメリカのshort scaleの影響を強く受けている。しかし経済関連のメディア以外ではまちまちであり、話者の教育環境や学歴によるため、イギリスの影響下であったこともあり、多くが伝統的なlong scaleを使い続けると思われる。また、日常生活では、現在でもインド独自の命数法を用いている。（short scaleもlong scaleも用いない国参照）

エスペラントでの用法 
エスペラントの公式の単語であるbilionoやtriliono等の意味するところは曖昧であり、long scaleとshort scaleのどちらを支持するかを国家が推定するのを妨げることによって、国際的なエスペラントのコミュニケーションの本質は問題を複雑化させていた。

ただ、現在では非公式だが一般に用いられている -ilion- という接尾辞 (106×n) を用いることで曖昧を避けようとする方向に向かっている。これは106のべき乗を表すために追加されたもので、例えばduiliono（duはエスペラントで「二」）は 106×2 = 1012、triiliono（triはエスペラントで「三」）は 106×3 = 1018 を表す。

miliardoは明確に109を表す単語であるが、最近ではこれを基にした-iliard-を非公式な接尾辞 (106×n+3) と見立ててduiliardo = 106×2+3 = 1015、triliono = 106×3+3 = 1021のように表すことが多い。つまり-ilion-の1000倍の数を表すのである。

これによって、mililiono = 106×1000 = 106000やmililiardo = 106×1000+3 = 106003等の大きな数も簡単に作れるようになった (mil = 1000)。

混乱回避措置 
long scaleとshort scaleを使用している国では百万より大きい単位では同じ単語が異なる桁を示すなど表記の仕方が異なる。混乱を回避するために以下のような表示がされる。なお命数法の違いに加え、小数点や3桁を区切る記号をコンマかピリオド（終止符）かという小数点の問題がある。

 もっとも簡単な方法が全数を記述することである。
 例）1,000,000,000,000 これはshort scaleでは1 trillionであるがlong scaleでは1 billionである。

 ミリオン（百万）までは共通であるので百万以上の桁を数字で表示する。
 例）12,345 million（ミリオン）

 指数表記で桁を表す。
 1、1、1、1などで広く使われている。または一般的ではないがコンピューターで1e9、1e10、1e11、1e12と表記される。

 SI接頭語で表す。
 SI接頭語は基本単位に非依存の数値の桁のみを表すものでキロ（k, 103 = 千）、メガ（M, 106 = 百万）、ギガ（G, 109 = 十億）、テラ（T, 1012 = 兆）などである。これらは科学者・技術者の間で広く使われている。例）キログラム、メガワット、ギガヘルツ、テラバイト。これらはコンピュータの普及により一般にも知られているが、1ギガドルといった表現は一般的ではない。なお日本では電力表示に億kW（キロワット）といった使われ方をする。1億kWは100ギガワット (GW)である。

インド 
インドの命数法は、古代インドから現代でもインド、パキスタン、バングラデシュ、ネパール、ミャンマーなどで使用されている。基本的には、西洋で一般的な3桁ごとの位取りや、日本や中国などで一般的な4桁ごとの位取りではなく、インドにおいては2桁ごとの位取りに基づく。

この命数法による表記では、基本的に2桁ごと（下3桁のみ例外）の位取りに基づいて点を置く。例えば3カロール（3千万）ルピーと記する場合はRs. 30,000,000ではなく、Rs. 3,00,00,000とすることが多い。ハザール／サハストル（千）、ラーク（十万）、カロール（千万）で区切っている。

ラーク (lakh)、カロール (crore) という単語は後述の仏典の華厳経（八十華厳及び四十華厳）における洛叉・倶胝に当たる。またインド英語では今日でも頻繁に使われており、インドでの英字新聞等でも普通に使用される。なお、英語の綴りと実際の発音とは大きくかけ離れている場合が多い。

ヒンディー語において、新聞などでパドマ、カラブの単位までは時折使用されるが、それ以上の単位が登場する事はない。またインド英語においては、アラブ以上の単位は通常用いられない。しかしながら、インド数学の古い文書ではニール、パドマ、シャンクが用いられる事も多い。

高桁数の表記の場合は、ラークとカロールを組み合わせて、1ラーク・カロール（一兆、1012）等ということが多い。

ムンバイのギャングなどが話すスラングでは、カロールのことを「コーカー」(khokha)、ラークのことを「ペーティー」(peti) ということがある。

イランでは、50万を表す単語として「コルール」（Korūr）を最近まで使用していた。

シンハラ語では、カロールを「コーティヤ」(kōţiya)、ラークを「ラクシャヤ」(lakshaya) と呼んでいる。また、カンナダ語のような他の南インド言語では、カロールは「コティ」(koti)、ラークは「ラクシャ」(laksha) と呼ばれている。

ベンガル語にもシャンクと同源の という語が見られるが表す数は10、つまり一兆であり、またパドマと同源の （綴り通りにラテン文字転写すれば padma となるが実際の発音は）という語も存在するが指す数は10、つまり十兆である。

ラークは最近「ラキ」(laki) としてスワヒリ語にも取り入れられている。

仏典の数詞

八十華厳 
唐の実叉難陀訳の『華厳経（八十華厳）』（新訳華厳経、唐経、大正蔵279）の第45巻「阿僧祇品第三十」には、右表に示した命数が記述されている。

105 を洛叉、100洛叉（107）を倶胝（くてい）とし、倶胝以上を上数として123の命数が列挙されている。

最大の命数である不可説不可説転は
 
という巨大な数となる。

クッキークリッカーの日本語バージョンの一つでは、「恒河沙」までは一般的な方式の命数法となっているが、それより先は独自の方式の命数法を採用している。具体的には、一般的な方式の「阿僧祇」「那由他」「不可思議」「無量大数」は登場せず、一般的な方式なら「阿僧祇」にあたる位置に八十華厳の数詞の「頻波羅」が使われており、そこから先は「矜羯羅」「阿伽羅」を採用している。なお「阿伽羅」の次の八十華厳の数詞は「最勝」であるが、これはこのゲームで扱える数値の限界を超えてしまうため、このゲームでは事実上「阿伽羅」が日本語バージョンの最高の単位となっている。

六十華厳 
東晋の仏駄跋陀羅訳の『華厳経（六十華厳）』（旧訳華厳経、晋経、大正蔵278）の第29巻「心王菩薩問阿僧祇品第二十五」には、上記の命数法とは異なる命数が記述されている。

1010 を拘梨とし、拘梨以上を上数として121の命数が列挙されている。

最大の命数である不可説転転は  という巨大な数となる。

四十華厳 
唐の般若三蔵訳の『華厳経（四十華厳）』（貞元経、大正蔵293）の第10巻「入不思議解脱境界普賢行願品」には、上記の命数法とは異なる命数が記述されている。

105 を洛叉、100洛叉（107）を倶胝とし、倶胝以上を上数として144の命数が列挙されている。

最大の命数である不可説不可説転は  という巨大な数となる。

これら3つの華厳経では、八十華厳・四十華厳の洛叉は別として、他はいずれも上数で2乗すると次の単位になるため、二重指数関数に当たる。もっとも、これらは実用のものではなく、計算もできないほど大きな数を示して悟りの功徳の大きさを表したものである。

小数の命数法 
中国に由来する漢数字では、小数については、一桁（0.1倍）ごとに新たな名前を付ける下数が行われている。これに対し、ヨーロッパ言語やインドにおいては分数の表記としては、half や quarter、en:Roman numerals#Fractions のような表現にはあるが、10進法の少数について桁ごとに名称を付すことは行われていない。漢数字については、位の小さなものの名称については時代や地域、また書物によって相違がある。例えば朱世傑『』では沙以下は万万進としているほか、「虚空」「清浄」を「虚」「空」「清」「浄」の4つの別の名とするなどの違いがある。以下は一例である。

このうち、『塵劫記』では埃以上のみが紹介されている。

実用で用いられるのは毛あるいは糸くらいまでであり、それ以下については名前がついているだけで実際にはほとんど用いられない。なお、「六徳」は「徳」の6倍という意味ではなく、「六徳」で一つの単位である。

実際に桁を連ねるときは、「二寸三分四厘」のように1の位の後に「基準単位（ここでは「寸」）」をつける。現代的な表現が「2.34寸」のように最後に「基準単位」を付けるのとは異なる。

日本語 
現代の日本では、上記の小数の命数法は、野球選手の打率や守備率、スポーツチームの勝率、レートまたは割引を表す場合によく用いられる。「３６度５分」(36.5 ℃)のように、温度を表す時にも、慣用表現 (「五分五分の勝負」、「九分九厘」、「七分袖」など) でも用いられる。 

かつては尺貫法において、基準となる計量単位（寸、文、匁）とともによく用いられていた（分 (数)#計量単位など）。現代では例えば 36.5 度と表記するが、伝統的には３６度５分というように基準単位（ここでは「度」）の後に小数の数詞（「分」）を付して記述する。長さの場合は、2寸3分4厘 のようになる。 意味は 2.34寸と同じである。

また、割と用いられることも多い。例えば、２割４分７厘は、分は割の1/10、厘は割の1/100であるので、現代風に書くと、2.47 割ということになる。

割と共に用いる場合の誤解 

基準単位として「割」を使う場合は「2割4分7厘」のようになることから、「分は全体の 1/100、厘は全体の 1/1000 」と勘違いをされることがある。しかし、これは「2.47割」の意味であって、「分は割の 1/10、厘は割の 1/100」であって、長さの場合の「2寸3分4厘 = 2.34寸」と同様の表現である。

上記の勘違いを生ずる原因は、割を用いる場合に割そのものが 1/10 を意味するために、「分が全体の 1/100、厘が全体の 1/1000 」と誤解するからである。分、厘、毛などの数詞は、「基準単位」（例えば、寸、割、匁など）の小数を意味することを理解しておく必要がある。

小数点と3桁区切り 

小数点には地域（言語）によって、ピリオド（.）又はコンマが使われる（小数点#二つの方式）。日本ではピリオドが使われることがほとんどである。

3桁区切りについては、国際機関では小数点を基準に3桁毎にコンマやピリオド（.）を入れることを禁止しており、その代わりにスペース（通常は半角スペース(:en:thin space)）を入れると規定している。これは小数点にピリオドとコンマの両方が使われていることから、３桁毎にコンマやピリオドを入れると重大な誤読を招くおそれがあるからである。

国際単位系国際文書 （SI文書）の要約は次のように記している。