S2.02.4Locale-aware numeric input设计

数字输入需接受本地格式

别名: 本地数字解析 · 国际化数字输入 · localized number parsing

概念解释

地区感知数字输入(locale-aware numeric input)让用户按当前地区熟悉的数字、十进制符、分组符、正负号与空白输入数量,再将其解析为规范数值。它不是“逗号和点都随便接受”:解析器必须知道字段 locale、单位和允许精度,对可能产生两个合理数值的输入要求澄清。

机制

键盘、粘贴来源和数字系统可能产生不同 Unicode 字符;同一个逗号在一种 locale 是小数符,在另一种是分组符。只有 Unicode General Category Nd 的十进制数字可直接按位值映射 0–9;罗马数字、上标、分数或 CJK 数字虽有数值含义,也不能自动当作位置制输入。可靠流程按一个明确 locale 规范化获准字符,解析后确认位置已到达去除许可首尾空白后的末尾,再校验范围与精度并回显。高后果字段还应拒绝异常混用数字脚本。

边界

自由文本搜索可采用宽松数字识别,但金额、剂量和测量输入需要更严格确认。允许多种 locale 同时解析会产生冲突,尤其单一分隔符后恰有三位,或同一串在多个候选 locale 下都能完整解析却得到不同数值时;点和逗号同时出现且顺序合法反而常能帮助区分。跨国操作员应显式选择数据格式或看到解析预览。电话号码、账号和邮编是标识符,不能交给数量解析器。

怎么落地

  • 将字段的 locale、数值类型、范围、精度、单位与是否允许分组作为解析契约;输入提示和软件键盘与契约一致。
  • 按字段风险选择 strict 或受控 lenient 策略;接受 locale 明确支持或等价映射的字符,高后果提交遇错误分组、异常混脚本或多解格式时要求修正或确认。
  • 失焦或提交前以规范本地格式回显完整值;高后果字段同时显示单位或币种,让用户确认系统的解释。
  • 建立电子表格粘贴、不同键盘、语音输入、bidi marks、NBSP/NNBSP、全角与本地 Nd、混脚本、极值和小数精度测试集,并验证解析器未只接受合法前缀。

延伸

  • 同组S2.02.1 小数点与千分位符号随地区互换 · S2.02.2 分组位数不都是三位 · S2.02.3 负数的表示方式不同
  • 相邻S2.03 货币与价格 · S2.04 单位系统
  • 站内检索locale-aware number parsing · localized numeric input · Unicode digits

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/S2.02.4