跳到主要内容
Varlig 指南
Varlig 首页

数字与记数法

本页介绍在计算块中书写数字的各种方式:使用千位分隔符、使用 45k 这样的简写、使用科学记数法、写成分数、用英文单词书写,或者使用二进制和十六进制。本页还会介绍如何更改答案的显示方式,比如显示为分数或百分比。当你输入的数字没有按你的本意被读取,或者你想让答案以另一种形式显示时,可以查阅本页。

书写数字

小数点与千位分隔符

小数点使用句点。千位可以用逗号、空格或下划线分组,与你拷贝来的数字格式保持一致即可:

calc
£1,250 * 12 结果为 £15,000.00
1 250 * 12 结果为 15,000
1_000_000 / 4 结果为 250k
.5 * 38 结果为 19

有几点需要注意:

  • 逗号只用于千位分组,而且逗号之后的每一组都必须是三位数字:1,0001,234,567 都是数字。逗号永远不会被当作小数点,所以 12,501,5 会显示错误,而不是给出一个猜测的结果,你可以马上修正这一行。1.234.567,89 这样的欧洲格式数字无法识别。
  • 用空格分组时,每组必须恰好是三位数字:1 250 没问题,12 50 则不是数字。
  • 撇号是英尺符号,所以 1'000'000 不能作为分隔符使用。
  • 数字不能以小数点结尾:请写成 55.0,而不是 5.

千位分隔符在函数调用和列表中同样有效,所以你可以直接粘贴数字。逗号后面紧跟三位数字时,数字会继续下去;逗号后面跟空格时,则开始下一个值:

calc
sum([£1,200, £800]) 结果为 £2,000.00
max(1,000, 2,000) 结果为 2,000
sqrt(1,024) 结果为 32
[12,-51,4] 结果为 [12, -51, 4]
max(1,000,2,000) 结果为 Unsupported: ambiguous commas in 1,000,2,000: put a space after each comma between values (1,000, 2,000)

[12,-51,4] 这样不带空格的值,会在每个逗号处拆分。如果逗号有两种可能的含义,比如最后一行或 sum(10,100),错误信息会告诉你该怎样写出你想要的意思。

大数字与数量级词

表示千、百万及更大数量级的简写和单词,让你不必输入一长串零:

calc
£45k / 12 结果为 £3,750.00
1.2 million / 4 结果为 300k
£3bn / 1,000 结果为 £3M
数量级 可接受的写法
5k5K3 thousand
百万 2.5M1.2 million
十亿 3bn3G3 billion
万亿 2tn2T2 trillion

简写必须紧贴数字:3bn 可以,3 bn 则不行。数字后面的大写 B 表示字节,而不是十亿,所以 3B 是三个字节。

较大的答案也会以同样的方式缩写。从 100,000 起,普通数字会显示为 250k2.5M8G,金额在一百万以下会完整显示,如 £350,000.00,从一百万起则显示为 £2.4M£3B。后续行中使用的仍然是完整的数值。解读结果:显示与精度详细说明了显示规则。

科学记数法

eE 表示 10 的幂,也可以用 × 10^ 把乘法完整写出来:

calc
2.5e-3 kg to g 结果为 2.5 g
1.5E3 m to km 结果为 1.5 km
6.02 × 10^23 结果为 6.02e23

指数本身也可以带小数部分:1e2.0 等于 100。

分数与数学符号

计算过程中,1/3 这样的分数会保持精确值,所以再乘回去会得到整数,而不是 0.9999999999:

calc
1/3 * 3 结果为 1
£60 * 3/4 结果为 £45.00

Unicode 分数字符和常用的数学符号同样可以使用,粘贴食谱或公式时会很方便:

calc
cups * 2 结果为 3 cup
hours in minutes 结果为 135 min
2 × £4.50 结果为 £9.00
£18 ÷ 4 结果为 £4.50
144 结果为 12
3² + 4² 结果为 25

凡是可以使用 - 的地方,都可以使用 (真正的减号);²³ 会对它们前面的数字、名称或括号求平方和立方。

分数后面跟上 of,就表示取某个量的相应份额,无论这个量是普通数字、金额还是带单位的数量:

calc
½ of 40 结果为 20
3/4 of £60 结果为 £45.00
¾ of 2 kg 结果为 1.5 kg

用斜杠书写分数时不要加空格,比如 3/4,这样它才会被当作一个数字来读取。

二进制、八进制和十六进制

在数字前加上 0b 表示二进制,加上 0o 表示八进制,加上 0x 表示十六进制。数位之间可以用下划线分隔。

calc
0b1010 to decimal 结果为 10
0o755 to decimal 结果为 493
0xFF + 1 结果为 0x100

从十六进制数字开始计算的结果仍会保持十六进制,如 0xFF + 1 所示。如果想得到普通数字,请使用 to decimal

所有记数法一览

记数法 示例 说明
十进制 420.5.500042 不接受末尾带点的写法(5.
千位分组 1,234,567.891 234 567.891_000_0001_234.5_678 逗号和空格分组必须是三位数字
科学记数法 1e62.5e-31.5E36.02 × 10^23 指数可以是小数:1e2.0 等于 100
数量级词 5k2.5M3bn3G2tn2 trillion3 thousand 请参阅上方的表格
二进制 0b10100b_1100_0001
八进制 0o7550o_755
十六进制 0xFF0xCAFE_F00D 结果保持十六进制
分数 1/33/10 保持精确值
分数字符 1½ cups½ of 40 5.51.5 cup20
Unicode 符号 −55 − 32 × 36 ÷ 3√16

用单词书写数字

你可以用英文单词书写数字和简单的算式。当你想照着说话的方式随手记下内容,或者从别处粘贴一句话时,这会很方便。

calc
twenty five hundred 结果为 2,500
one hundred and twenty five grams times four 结果为 500 g
one point five kilometres 结果为 1.5 km
three and a half hours in minutes 结果为 210 min
twelve times seven 结果为 84
double £80 结果为 £160.00
10 squared 结果为 100

分数词可以与普通数字、金额和单位搭配使用:

calc
a quarter of 200 结果为 50
half of 100 结果为 50
three quarters of 200 g 结果为 150 g
two thirds of £90 结果为 £60.00
a tenth of £450 结果为 £45.00
one fifth 结果为 0.2

百分比和货币也可以用单词拼写:

calc
fifteen percent of £80 结果为 £12.00
ten percent off £65 结果为 £58.50
five euros plus ten euros 结果为 €15.00

可识别的单词

  • 数字:从 zeronineteen,整十数 twentyninety,以及 hundredthousandmillionbilliontrillion,用空格、连字符或 and 连接(twenty-fiveone hundred and twenty three)。百位可以组合,所以 twenty five hundred 等于 2,500。
  • 小数:point 后面跟上逐位读出的数字(one point two five 等于 1.25)。
  • 分数:halfthirdquarterfourthfifthsixthseventheighthninthtenth,以及它们的复数形式(three quarterstwo ninths)。
  • 运算符:plusminustimesmultiplied bydivided by
  • 倍数与乘方:写在值前面的 doubletwicetriple,以及写在值后面的 squaredcubed。请参阅文字数学
  • 开头的 what is 可加可不加:what is twelve times seventwelve times seven 得到的答案相同。

用单词书写数字的常见陷阱

  • 分数词开头的短语加不加 a 都可以,所以 quarter of 100a quarter of 100 都是 25。不过放在月份前面时,它表示日期:third of March 是 3 月 3 日。quarter of an hour 也会如你所料得到 15 min。
  • pounds 表示重量:forty pounds 是 40 lb。表示金额时,请写成 £40forty GBP
  • twelve euros fifty 这样的混合金额写法无效。请写成 €12.50

常量

常量 写法
圆周率 piπPi 3.1415926536
Tau tau 6.2831853072(无法识别 τ
黄金比例 phi 1.6180339887
自然常数 eexp(1) 2.7182818285
calc
直径 = 30 cm
pi * 直径 to 1 dp 结果为 94.2 cm
£1,000 * e^(5% * 10) 结果为 £1,648.72

最后一行计算的是 £1,000 按年利率 5% 连续复利增长十年后的金额。

如果你自己定义了 pi 这样的名称,在这篇笔记的其余部分中,你的值会取代这个常量。请参阅与内置词语冲突的名称

隐式乘法

在数字与常量、名称或括号之间,可以省略 *

calc
2π 结果为 6.2831853072
2(£3.20 + £1.80) 结果为 £10.00
(1 + 2)(3 + 4) 结果为 21
边长 = 4 m
2 边长 结果为 8 m

把指针悬停在 边长 上,就能确认发生了什么:提示会说明它被乘以了 2,并建议你如果想让这一行写得更明确,可以写成 2 * 边长。英文的复数名称或单位则相反,因为前面的数字表示对它计数。定义 servings = 3 之后,2 servings 表示两份,所以想做乘法时,请写上 *

calc
servings = 3
2 servings 结果为 2
2 * servings 结果为 6

和数学中一样,乘方会最先计算,所以公式读起来就和你在纸上写的一样。²³ 同样可以作用于名称:

calc
x = 3
2x^2 结果为 18
(2x)^2 结果为 36
半径 = 15 cm
pi 半径² 结果为 706.8583470577 cm²
pi 半径² in to 3 dp 结果为 0.071 m²

唯一需要你自己加上 * 的地方是函数调用之前。请写成 2 * sqrt(9),而不是 2 sqrt(9)

转换数字的显示方式

加上 astoin-> 以及一个格式词,就能让答案以另一种形式显示。数值本身不变,改变的只是显示方式。

calc
0.375 as fraction 结果为
2.75 as fraction 结果为 2 ¾
£18 / £120 as % 结果为 15%
£60 / £48 as x 结果为 1.25x
0.00042 in scientific 结果为 4.2e-4
255 in hex 结果为 0xFF
10 to binary 结果为 0b1010
493 to octal 结果为 0o755
目标格式 示例 结果
fraction 0.75 as fraction ¾
fraction 1.75 as fraction22/7 as fraction 1 ¾3 1/7
%percentpercentage 2 as %1/8 as % 200%12.5%
multiplierx 1.5 as x 1.5x
scientificsci 12345.6789 in sci 1.23456789e4
numberdecimaldec 0xff to decimal1e5 as number 255100k
hexhexadecimalbase 16 255 in hex-5 in hex 0xFF-0x5
binarybinbase 2 255 to binary 0b11111111
octaloctbase 8 255 to octal 0o377
base 10 255 to base 10 255

只支持 2、8、10 和 16 进制;255 to base 7 不会显示答案。hex(255)bin(10) 是同样转换的函数形式。没有 oct() 函数。

如果想舍入答案而不是改变其格式,请参阅舍入

综合运用

为买房攒首付:房价用简写表示,进度则用百分比显示:

calc
# 攒购房首付
房价 = CNY 480k 结果为 480,000.00 CNY
首付 = 房价 * 20% 结果为 96,000.00 CNY
已存 = CNY 38,400
已存 / 首付 as % 结果为 40%
还差 = 首付 - 已存 结果为 57,600.00 CNY
月数 = 18
还差 / 月数 结果为 3,200.00 CNY

CNY 480k 省去了输入一串零;两个金额相除得到的是一个单纯的比值,as % 会把它变成进度百分比。随着存款增加,修改 已存,下方的每月目标就会随之更新。