数字格式与结果显示
四种区域预设、粘贴行为、结果显示模式,以及自定义模式语法。
Numlex 同时格式化你输入和它回答的数字,让数字按你所在地区的习惯呈现。本页说明 Numbers 设置标签页(Settings → Numbers):四种区域预设,它们如何改变输入、分组和 函数调用,以及所有结果显示模式——包括自定义模式语法。
区域预设
| 格式 | 示例 | 小数点 | 分组 | 函数参数分隔符 |
|---|---|---|---|---|
| System | 平台 | locale | locale | 若系统小数分隔符为逗号则用 ;,否则用 , |
| North America | 1,234.56 | . | , | , |
| Western Europe | 1.234,56 | , | . | ;(max(1,5; 2,5)) |
| Eastern Europe | 1 234,56 | , | NBSP(输入时接受空格) | ; |
各格式的差异
- 粘贴: 启用粘贴转换后,粘贴的连写分组(
1.234,56)会规范化为当前格式;未启用时 输入保持粘贴时的原样。 - 输入分组: 函数调用之外的
1,234是数字 1234(逗号分组)。逗号小数点只存在于 Western/Eastern Europe 配置中。 - 函数调用内部: 点小数格式(North America、带点的 System)使用
,作为参数分隔符 (max(1.5, 2.5));逗号格式(Western/Eastern Europe、带逗号的 System)使用;(max(1,5; 2,5))。参数内的小数逗号只存在于逗号格式中。 - 紧凑显示(
1.5M)是独立设置,不取决于区域格式。 - 界面语言不控制数字区域设置。
结果显示模式
Result display 设置全局生效,也可按答案覆盖。模式如下:
| 模式 | 含义 |
|---|---|
| Automatic | 自动:普通/紧凑视图,并在 |v| ≥ 1e16 时使用科学计数兜底(不会自动切换到工程记数法) |
| Decimal | 按指定小数位数的普通十进制 |
| Scientific | 科学记数法(1.5e6) |
| Engineering | 指数为 3 的倍数的科学记数法(1.5e6) |
| Fraction | 有理分数(1/2) |
| Timespan | 仅对时间维度量值进行时长拆分(5 min 30 s);其他内容回落到 Automatic |
| Custom | 用户模式(见下文) |
其他设置涵盖负号位置和货币符号位置(前缀/后缀、左/右)。它们只影响显示。
逐答案覆盖
Result display 是全局设置;每个答案可以局部覆盖。右键(或按住 Control 点按)数字 答案:
| 菜单项 | 效果 |
|---|---|
| Round — 0…10 dp 滑块 | 只对这一个答案重新取整,独立于全局 2…10 取整。来源行不受影响。 |
| Number Format | 该答案的局部记数法,可用 Default 清除。适用于数字答案。 |
| Reset Formatting to Defaults | 仅当该答案已有覆盖时出现;清除它。 |
覆盖随表格保存。它只改变这个答案的渲染:值、引用该行的令牌(令牌按自己的或全局格式 渲染)、依赖关系和合计都不受影响。完整菜单见 设置与外观。
自定义模式
自定义模式使用区域固定的 ASCII 骨架——输出由上下文本地化。模式最多包含三个以 ;
分隔的分区:positive;negative;zero。
每个分区的语法:
- 引号字面量
'...';''是撇号转义; - 一个数字骨架:必需数字
0、可选#;一个小数点.(整数部分中0可位于#之后;小数部分中0可位于之前); - 分组
,仅在整数部分:右侧段是主分组,左侧一个重复段是第二分组(印度风格#,##,##0)。其他形式一律拒绝; - 一个缩放符:
%(×100)或‰(×1000); - 一个货币占位符
¤——它的位置决定符号位置; - 可选指数:
E0、E+0、E00、E+00、E-00(一到两个指数占位符),且只能位于 尾数数字之后。没有数字在E前的裸骨架E00无效。
限制:每个模式 96 个 Unicode 标量、12 个小数占位符、输出最多 256 个字符。未通过验证的 模式仍会保存和编辑,但永远不会进入渲染:显示回退到 Automatic。
#,##0.00 → 1,234,567.89 (value 1234567.8912)
0.00' €' → 45.68 € (value 45.678; literals live only in apostrophes)
'≈ '0.### → ≈ 45.678
#,##0.00' €' → 1,234,567.89 € (grouping + literal)
#,##,##0 → 12,34,568 (Indian style)
#E0 → 1e6 (value 1000000; a digit before E is required)
0.00%;;0 → 12.34% (positive;negative;zero; value 0.1234)
无效模式——永不渲染,答案回退到 Automatic:1.2.3(两个点)、#E0E0(两个指数)、
0.0%‰(两个缩放符)、E00(E 前没有数字)、E±00(同上)、1,000,0(分组错误)、
# ##0(空格不属于骨架)、0.00 "€"(双引号——只能用撇号)、0.### 'EUR'(字面量前
有空格)。