[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]]
* メモ