記数法

数の表現

[3] 数の表現

数値の国際化

[1] In Japanese typography, numbers are written in Arabic digit (i.e. DIGIT ZERODIGIT NINE) for horizontal text (writing-mode: lr-tb) or in Han (CJK ideographic) digit (such as CJK UNIFIED IDEOGRAPH-4E00) for vertical text (writing-mode: tb-rl). Styling language that support both horizontal and vertical layout should provide a way to display representation of number in some other format than in source document tree (as in list-style-type for list bullets).

In addition, to support this styling (and, e.g. scripting) in semantic and standadized way, an element type whose instance contains a textual representation of a number should be introduced.

<p>そこには<number>100</number>個の林檎があります。</p>
<!-- There were 100 apples. -->

This example markup should be rendered as...

そこには 100 個の林檎があります。

... or ...

そ
こ
に
は
百
個
の
林
檎
が
あ
り
ま
す
 ゜

[2] 英語圏のWebアプリケーションなどではしばしば「52.4K」 (= 5万2400) のような表現が用いられますが、日本語圏では一般的な表現ではありません (分野によっては用いられることもあります)。

HTML における数値のマーク付け問題

[12] 現在の HTML では、数値マーク付けする必要がある場合、 data 要素を使うことができます。 data数値に限らず「データ」を表すために使えます。

[13] データの種類が「数値」であることを明示する方法は HTML レベルでは用意されていません。 class 属性を使って記述することになります。

[14] 「数値」データはどのような種類でも、どのような形式でも構いません。 整数でも小数点数でもいいですし、位取り記数法でも指数表記でも、 ローマ数字でも漢数字でも「データ」として意味があるものなら使えます。

[15] 誤解してはいけないのは、

のであって、

ということではありません

[16] HTML文書著者は、 CSSJavaScript での利用、 サーバー側の処理での利用、特定のクライアントからの利用、その他何らかの意義がある、 あるいは意義が予想されると信じるとき、 data を使うことができます。そうでないときに使う義務はありません。

歴史

[20] HTML において数値number 要素などとしてマーク付けすることは古くから提案されてきました。 数値マーク付けには単に数値数値たることを明記するべきという意味マーク付け的に過激な主張にとどまらず、 コンマ桁区切り記号挿入等 CSS によるスタイル付けの実現や桁区切り記号小数点局所化のような実益もあります。 >>1 に示されるような縦書き時の漢数字化も同様です。

[21] とはいえ、実際に Web>>20 に示したようなスタイル付けの実現が強く望まれているかには疑問が呈されています。 HTML5 の策定に当たっても数値マーク付けのための要素の追加の要望がありましたが、 まずは CSS でのスタイル付けの検討を待つべきだとして却下されています (>>18>>19)。


[10] XHTML2数値を表す要素の追加を一時検討していました。

[8] >>23 XHTML2 第4次案では検討課題として nr 要素の提案があると触れられていました。

[30] >>29 第5次案にもありました。

[9] >>23 の次の現存最古である内部案 ( XHTML2 ) ではその箇所が削除されていました。 その課題を解決する何らかの追加・変更があったわけでもなく、 どのような意思決定があったのかは不明です。

[31] HTML要素概説
要素名
nr
日付
説明
XHTML 2.0 は検討課題として nr を示した。 数値を表す。 >>23 当時は XHTML 2.0名前空間だった。 しかし正式に追加されることなく削除された。 現在の data に当たる。
出典
参照
number
[32] HTML要素概説
要素名
number
参照
data

[11] HTML5 の開発でも数値マーク付けはたびたび話題になっていました。

[18] Re: simple numbers (Ian Hickson 著, 版) http://permalink.gmane.org/gmane.org.w3c.whatwg.discuss/12448

[19] Re: simple numbers (Ian Hickson 著, 版) http://permalink.gmane.org/gmane.org.w3c.whatwg.discuss/14012

[3] その後 data 要素が追加され、数値も必要があればこの要素マーク付けできるようになりました。

関連

[22] フォームコントロールとしては数値のための <input type=number>Web Forms 2.0 で追加されています。

[17] 何らかの計算結果等を記述したいときは output 要素を使うこともできます。 dataoutput とどちらがいい、わるいということは一概にはいえず、 その場その場で使いやすい方を使えばいいと考えられます。 場合によっては両方を使うこともありでしょうが (その場合は output の中に data を使う方が意味的に妥当でしょうか)、 敢えてそうしなければならないこともありません。

[27] 記述したい数値によっては、 meterprogress を使ったほうが視覚的にわかりやすく表示されて便利かもしれません (が、数値が表示されずかえって使いにくい場面もあるかもしれず、 その場合は並べて併用するのがいいでしょう)。

[28] 数式的性質を持つ数値であれば MathML を使って表すこともできます。 HTML のコードとしては冗長になってしまうので手書きするには不便になりますが、 簡易マーク付け言語等から機械的に出力する場合で簡単な数値と複雑な数式を統一的に扱いたい場合など、 MathML の活用がより好ましい場面も考えられます。

数の書式付け

[7] DSSSL, , http://www.y-adagio.com/public/standards/jis_dsssl/cls8.txt#:~:text=数値から文字列への変換

メモ

[1] 記数法 - Wikipedia (, ) https://ja.wikipedia.org/wiki/%E8%A8%98%E6%95%B0%E6%B3%95

[2] 命数法 - Wikipedia (, ) https://ja.wikipedia.org/wiki/%E5%91%BD%E6%95%B0%E6%B3%95

[4] 広義の記数法 - Wikipedia (, ) https://ja.wikipedia.org/wiki/%E5%BA%83%E7%BE%A9%E3%81%AE%E8%A8%98%E6%95%B0%E6%B3%95

[24] Basic Data Types and Interfaces – SVG 1.1 (Second Edition) ( ( 版)) http://www.w3.org/TR/2011/REC-SVG11-20110816/types.html#DataTypeNumber

[25] Basic Data Types and Interfaces – SVG 1.1 (Second Edition) ( ( 版)) http://www.w3.org/TR/2011/REC-SVG11-20110816/types.html#Precision

[26] csswg: changeset 8602:26edc24f2215 ( ( 版)) https://dvcs.w3.org/hg/csswg/rev/26edc24f2215

[5] 車の希望ナンバー制がピンチ 英字も導入し対応へ | NHKニュース ( (日本放送協会著, )) http://www3.nhk.or.jp/news/html/20160713/k10010594091000.html?utm_int=all_side_ranking-access_004

[6] カンマとピリオド | 貿易よもやま話, https://www.globalbizgate.com/boekitips/2015/11/30/%e3%82%ab%e3%83%b3%e3%83%9e%e3%81%a8%e3%83%94%e3%83%aa%e3%82%aa%e3%83%89/

なので、金額のように小数点も桁区切りも大事な数字を使い場合には、英語フルスペルで書く(いわゆる英文複記をする)のが安心なのです。

契約書や為替手形における英文複記の目的については、多くのテキストで「アラビア数字だけだと、改ざんすることが可能だから」とされていますが、実は桁区切り、小数点の表記方法は国によって違うからという理由もあるのです。