web-dev-qa-db-ja.com

国際的に友好的な小数

私は最近、10進数とカンマのあいまいさについて議論していました(地域設定のためにベンダー製品が機能しなかったために発生しましたが、ここでもここでもありません)興味深い結論に至ることができます。例として、オンラインフォームに入力するときに使用する小数点/区切り記号/単位を指定しますか?

私は特に、注文するものがサポートしている場合、「寸法」または「長さ」など、フォームが10進数の量を入力することを期待している状況を考えています。

下の画像は、4つのバージョンを示しています。そのトップはかなり標準的なものであり、他の3つは国際化に対応するための異なる変更です。

それぞれの場合、私はアプリケーション(この場合)がユーザーに「メトリック」と「インペリアル」測定の間の選択を提供することを期待します、そしてそれはそれから統一された単位に変換するためにいくつかのバックエンド計算を行うことができます(おそらく)精度を上げるために、インペリアルを小数点以下3桁までのcmに変換しますが、ここではストレージを無視します)。

3番目のバージョンは私には最良のように見えます。これにより、ユーザーは測定値を正確にすることができ、10進数/単位のあいまいさがなくなります。アプリケーションは測定で予想される単位を知っているので、ユーザーは単位間で測定値を変換する必要はありません。

メトリックは左側、インペリアルは右側です。すべてのケースで、ベースユニットの1と1/4、メートル法の場合は1m 25cm、インペリアルの場合は1ft 3inが必要です。

Examples

4
Der Kommissar

グローバルレベルにはあいまいさが存在しますが、ロケールの大部分(すべてではないにしても)については、常に1つの標準に対応できます。インターフェイスのロケールに基づいて、小数点とコンマを表示および許可できます。

1
Tin Man

TL; DR:特定の状況でユーザーが期待する単位と形式を把握し、それを中心に設計します。以下はすべて、私の意見とユニットエントリに関する経験です。

予想される入力の観点からはバージョン3が適切ですが、通常、寸法は単一の単位として入力されるため、ユーザーを混乱させる可能性があります。たとえば、どちらが処理しやすいと思いますか?

2m 25cm x 3m 4cm

または

2.25m x 3.04m

また、マルチユニットフォームは、次のような奇妙なエントリの可能性を開きます。

2m 200cm

または

1.4ft 4in

ユニットの一貫性を保つことで、ユーザーの入力が容易になり、フロントエンドでの開発が容易になります。後で別の形式に解析することもできます(お持ちのように見えます)。たとえば、フロアプランが別々の単位で表示されることがよくあります(例:1 '9 ")。

コンマの場合は簡単です。入力フォームを実装して、ピリオドとコンマの両方を処理するだけです。正規表現では、これは単純なグループチェックです:[.,]

以下は、現在ソフトウェアで使用されている2つの例です。単一のユニットと、ピリオドとコンマの両方のサポートに注意してください(地域によって異なります)。

Photoshop

enter image description here

オフィス

Comma units

0
Alan