[1] In Japanese typography, numbers are written in Arabic digit (i.e. [CODE(charname)@en[[[DIGIT ZERO]]]]〜[CODE(charname)@en[[[DIGIT NINE]]]]) for horizontal text ([CODE(CSS)@en[[[writing-mode]]: [[lr-tb]]]]) or in Han (CJK ideographic) digit (such as [CODE(charname)@en[[[CJK UNIFIED IDEOGRAPH-4E00]]]]) for vertical text ([CODE(CSS)@en[[[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 [CODE(CSS)@en[[[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. [PRE(example code)[

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

]PRE] This example markup should be rendered as... [PRE(example)[ そこには 100 個の林檎があります。 ]PRE] ... or ... [PRE(example)[ そ こ に は 百 個 の 林 檎 が あ り ま す ゜ ]PRE] [18] [CITE[Re: simple numbers]] ([[Ian Hickson ]] 著, [CODE[2007-12-11 05:20:54 +09:00]] 版) ([[名無しさん]]) [19] [CITE[Re: simple numbers]] ([[Ian Hickson ]] 著, [TIME[2008-05-07 01:12:53 +09:00]] 版) ([[名無しさん]]) [[#comment]] * [CODE(HTMLe)@en[input]] [CODE(HTMLa)@en[type]] [CODE(HTML)@en[number]] (HTML) [4] [[HTML]] の [CODE(HTMLe)@en[[[input]]]] [[要素]]の [CODE(HTMLa)@en[[[type]]]] [[属性]]を [DFN@en[[CODE(HTML)[[[number]]]]]] とすると、 [[数値]]を指定する[[フォーム制御子]]となります。 [5] 仕様書: - [[Web Forms 2.0]] -- [CSECTION@en[2.4. Extensions to the [CODE(HTMLe)@en[[[input]]]] element]] [[#comment]] ** 値の構文 [6] [[フォーム提出]]時に用いられる値は、 次のような構文とし[['''なければなりません''']]。 - [[仮数部]] -- [CODE(HTML)[[[-]]]] (省略可能) -- 1つの[[整数]] -- 省略可能: --- [CODE(HTML)[[[.]]]] --- [[小数部]]: 1つの[[整数]] - [[指数部]] (省略可能、既定値は[[零]]) -- [CODE(HTML)[[[e]]]] -- [CODE(HTML)[[[-]]]] (省略可能) -- [[10]]の[[冪乗]]の[[指数]]: 1つの[[整数]] ここで、[[整数]]は1桁以上の[[十進数字]]です。 これが表す実際の[[数値]]は、 [[仮数]]に[[10]]の[[指数]][[乗]]を掛けたものとなります。 [SRC@en[WF2 2.4]] [17] [[利用者エージェント]]は >>6 に適合しない値を[[提出]][['''してはなりません''']]。 [SRC@en[WF2 2.4]] [[#comment]] ** 値の例 [7] [CODE(HTML example)[-1.4142135623730950488016887242097e0]] これは、[[2]]の[[負]]の[[平方根]] ([[有効数字]]32[[桁]]) です。 [SRC@en[WF2 2.4]] [2] [CODE(HTML example)[3.17e4]] これは、[[地球]]の[[半径]]を[[ハロン]][[単位]]で表したおおよその値です。 [SRC@en[WF2 2.4]] [3] [CODE(HTML example)[42]], [CODE(HTML example)[0042.000]], [CODE(HTML example)[42e0]], [CODE(HTML example)[4.2e1]], [CODE(HTML example)[420e-1]] これらは、いずれも[[生命、宇宙、そして万物についての答え]]です。 [SRC@en[WF2 2.4]] [14] '''誤った例''': [CODE(HTML example invalid code)[+0]], [CODE(HTML example invalid code)[0e+0]], [CODE(HTML example invalid code)[+1e+3]] [CODE(charname)@en[[[PLUS SIGN]]]] を用いることは認められていません。 [SRC@en[WF2 2.4]] [16] '''誤った例''': [CODE(HTML example invalid code)[.42e2]] [[零]]を省略することは認められていません。 [SRC@en[WF2 2.4]] [[#comment]] ** 属性との関係 [8] [CODE(HTMLa)@en[[[step]]]] [[属性]]は精度を表します。 [[既定値]]は [CODE(HTML)[[[1]]]] です。 [SRC@en[WF2 2.4]] [[#comment]] ** レンダリング [9] >>6 の書式は、[[提出]]のためのもので、[[利用者]]が読み書きすることは想定していません。 [[利用者エージェント]]は適切な書式や [[widget]] を使用[['''して構いません''']]。 [SRC@en[WF2 2.4]] [[#comment]] ** 互換性 [13] '''未対応利用者エージェントとの互換性''' [CODE(HTML)@en[[[month]]]] に対応していない[[利用者エージェント]]は、 [CODE(HTML)@en[[[text]]]] (単一行[[文章入力制御子]]) として扱います。従って、[[利用者]]は任意の文字列を入力することができます。 ですから、[[著者]]は、対応している[[利用者エージェント]]が一般的になるまでの間、 [[フォーム制御子]]の近くで記入方法を説明しておくのがよいでしょう。 [[フォーム処理エージェント]]は記入された値が適当か検査するべきです (これは[[安全性]]の観点からも重要です)。 [[#comment]] ** 歴史 [10] この [CODE(HTMLe)@en[[[input]]]] [CODE(HTMLa)@en[[[type]]]] は [[Web Forms 2.0]] で導入されました。 [[#comment]] ** 実装 [11] [[Opera 9]] が実装しています。 [[#comment]] ** 関連 [12] 似た [CODE(HTMLe)@en[[[input]]]] [CODE(HTMLa)@en[[[type]]]] として、 [CODE(HTML)@en[[[range]]]] があります。 [15] >>6 の書式は、 [CODE(C)@en[[[scanf]] (3)]] の [CODE(C)@en[%[[f]]]]、 [[ECMAScript]] の [CODE(JS)@en[[[parseFloat]]]]、 その他同様の[[浮動小数点]]の書式と互換になるように設計されています。 [SRC@en[WF2 2.4]] [[#comment]] ** メモ [17] [CODE(HTML)@en[[[number]]]] は、 [[電話番号]]や[[クレジット・カード]]の番号には''不適切''です。 [CODE(HTMLa)@en[[[type]]]] [CODE(HTML)@en[[[text]]]] と適切な [CODE(HTMLa)@en[[[pattern]]]] を使用するべきです。 [SRC@en[WF2 2.4]] ;; なぜなら、[[電話番号]] [CODE(example)[65000]] は [CODE(example)[65e3]] や [CODE(example)[6.5e4]] などとは[[等価]]でないからです。 [[#comment]] * メモ