Numlex 文档
语法参考
反馈问题

单位与数量

单位表达式、换算、数量运算、严格短语模式、烹饪密度和自定义单位。

单位把 Numlex 变成懂得量纲的计算器:5 m 是米,而 5m 是五百万;1 km + 500 m 是 1.5 km,10 km in 45 min 是配速。这里一切都是严格的:短语模式要么完全占用该行, 要么该行根本不进入这些模式。

本页说明数量语法、单位表达式及其排除项、大小写敏感性、SI 前缀、数量运算表、所有 严格短语模式、烹饪密度表,以及自定义单位如何扩展目录。

空格很重要

数量是 <number> <unit>——空格必不可少:

  • 5 m——五米。
  • 5m——五百万(标量;参见紧凑后缀)。
  • 2 Gb——两吉比特;2 Gbyte——两吉字节。

粘在一起的字母不是单位。

单位表达式

单位用 *、· 和 / 组合,用 ^、² 或 ³ 取幂(幂的底数是字母,例如 m²、 m³):

km/h      kg/m³      N·m      m/s²

限制:

  • 组合只能线性:幂不能任意构造新的量纲——复合形式限于 ^2、^3 以及目录原子的 分数或乘积形式。
  • 温度、货币和燃料单位是特殊的:它们只能独立出现,绝不进入复合表达式(C°/h 是 错误)。
  • 换算 to|in|as <unit>:右侧是目标单位,左侧是数量,量纲签名必须一致—— 10 km in m = 10,000 m,而 10 km in kg 是错误。
  • 温度按仿射公式换算,而不是按系数:100 C° to F° = 212 F°。
  • 燃料单位是 L/100km / L/km 族及其反向(公里/升式)形式。

大小写敏感

输入别名保留大小写:

  • MB(兆字节)和 Mb(兆比特)是不同的单位。
  • mb 两者都不是——大小写折叠后存在歧义,因此确定地视为未知单位。
  • 单位的显示标签也可作为输入:10 meters = 10 m。

SI 前缀

允许的前缀符号为 p n µ m c d k K M G T P——从 10⁻¹²(皮可)到 10¹⁵(拍它)。每个 目录原子声明它接受的前缀(应用在 SI prefixes 列中列出它们, 单位目录也复现该列)。注意 µ 是希腊字母 mu(U+00B5 或 U+03BC),不是拉丁字母 u。

自动生成的——即不单独列出的——形式:

  • 原子的复数形式(meters = meter),
  • 带前缀的形式(km、mm、kWh …),按 原子的前缀列表 + 原子 规则构建。

目录未声明的组合不是前缀:该字母会作为未知单词被划掉,数字不带单位返回—— 3 Pm → 3、100 um → 100。

数量运算

数量行使用严格语言:数量、普通数字、命名值、运算符 + - * / ^ × ÷ of ( ),以及后缀 to|in|as <unit>。一行要么完全属于这种语言——命中形状,错误因此可见——要么该语言 完全不认领它(转入货币、日期或普通文本)。

运算规则示例
+ −量纲相同;「纯数字」一侧接受另一侧的单位300 + 20 km = 320 km;1 km + 500 m = 1.5 km
× /量纲组合;拒绝货币和温度90 km / 3 day = 30 km/day
^乘方(受复合形式限制)10 m × 2 m = 20 m²
显示结果以更粗的操作数单位显示(基础系数更大者);相同时取左侧1 km + 500 m → km

命名数量和令牌自然可用:声明 distance = 10 km,之后询问 distance in m。温度、货币 和燃料保持独立——绝不参与复合表达式。

严格短语模式

模式示例含义
<qtyA> in <qtyB>10 km in 45 min速度 / 配速 / 速率:A ÷ B → 0.2222 km/min
45 min in 10 km配速 → 4.5 min/km
1 Gbit in 5 s传输速率 → 0.2 Gbit/s
<qty> at <money> per <unit>2.5 kg at €3 per kg价格:qty/unit × 价格 → €7.50
per <unit>(代数内部)90 km per 3 day30 km/day(混合级运算符)
PPI(双向)10 in in px at 96 ppi960 px;960 px at 96 ppi to in = 10 in(1 in = 0.0254 m 精确值)
烹饪密度200 g of flour to ml质量 → 体积,经由烹饪密度表(≈)
1 cup of honey to g体积 → 质量(≈)
1 L of oil as kg反向类型目标可用 in / as / to

每个短语模式都占用它匹配的行:错误是可见的,绝不会变成「划词回退」。

烹饪密度

近似堆积密度,复现标准的美国烘焙杯表。未来的重新校准是可见变化。输入为小写,忽略空格和连字符(brown sugar = brown-sugar = brownsugar)。

输入标签kg/m³说明
waterwater10001 cup ≈ 237 g
flourall-purpose flour528.31 cup ≈ 125 g (spooned, leveled)
sugargranulated sugar845.41 cup ≈ 200 g
brownsugarbrown sugar (packed)930.31 cup ≈ 220 g
icingsugarpowdered sugar507.21 cup ≈ 120 g
salttable salt1153.91 cup ≈ 273 g
butterbutter959.41 cup ≈ 227 g
honeyhoney1437.11 cup ≈ 340 g
milkwhole milk1031.31 cup ≈ 244 g
oilvegetable oil921.41 cup ≈ 218 g
ricewhite rice (dry)782.01 cup ≈ 185 g uncooked
cornstarchcornstarch541.01 cup ≈ 128 g
oatsrolled oats (dry)338.21 cup ≈ 80 g
cocoacocoa powder (sifted)359.31 cup ≈ 85 g
chocolatechocolate chips718.51 cup ≈ 170 g
peanutbutterpeanut butter1090.51 cup ≈ 258 g
creamcheesecream cheese976.41 cup ≈ 231 g
yogurtplain yogurt1035.61 cup ≈ 245 g
applesauceapplesauce1031.31 cup ≈ 244 g
cornmealcornmeal613.11 cup ≈ 145 g
yeastdry yeast4501 cup ≈ 107 g (very light)

自定义单位

自定义单位在 Settings → Units 中定义,把目录扩展到 237 个内置条目之外:

  • 名称: 1–6 个 ASCII 单词,≤ 40 个字符,首词以字母开头;必须唯一(与目录或另一个 自定义单位冲突会被拒绝)。
  • 定义: 要么是 <number> <existing unit expression>(例如 2.54 cm),要么是字面量 new unit,声明一个独立的新原子。
  • 依赖关系按声明顺序及其之外解析;循环是错误。全局上限为 100 个自定义单位。
  • 自定义单位是应用级的(应用设置),不会保存在 .nlx 表格中。
  • 名称的复数形式自动被接受,与目录原子相同。

完整语法和常量系统见自定义单位与常量。

示例

10 km to m                → 10 000 m
300 + 20 km               → 320 km
90 km / 3 day             → 30 km/day
10 km in 45 min           → 0.2222 km/min
45 min in 10 km           → 4.5 min/km
1 Gbit in 5 s             → 0.2 Gbit/s
2.5 kg at €3 per kg       → €7.50
90 km per 3 day           → 30 km/day
10 in in px at 96 ppi     → 960 px
200 g of flour to ml      → 378.6 ml (≈)
1 cup of honey to g       → 340 g (≈)

相关

发现文档有问题? 在 GitHub 上反馈