货币计数器
结果
合计金额
- 纸币小计
- 58.00
- 硬币小计
- 1.00
- 总张数
- 9
点钞计算器按面额把一叠现金点出来:你填每种纸币和硬币各有多少张(枚),它给出这堆钱值多少、一共有多少张。十三行对应大家日常在数的那些档位——六个分币档,加上它们上面的七个纸币档——而且每一行都从 0 起步,所以页面一打开,面板上就已经有一个真实的答案。本页不问你数的是哪种货币,因为算术在哪种货币里都一样:张数乘面额,再相加。它真正不知道的是你所用的货币到底有哪些档,所以页面最后一节把梯子上缺的那些逐个点名。
梯子上每一档:十张值多少、凑够一百要几张
| 面额 | 十张合计 | 凑够 100 要几张 |
|---|---|---|
| 0.01 | 0.1 | 10000 |
| 0.05 | 0.5 | 2000 |
| 0.1 | 1 | 1000 |
| 0.2 | 2 | 500 |
| 0.25 | 2.5 | 400 |
| 0.5 | 5 | 200 |
| 1 | 10 | 100 |
| 2 | 20 | 50 |
| 5 | 50 | 20 |
| 10 | 100 | 10 |
| 20 | 200 | 5 |
| 50 | 500 | 2 |
| 100 | 1000 | 1 |
一行一个档位,旁边那两个数是一个面额的两种读法,而它们朝相反方向走——这正是这张表存在的理由。中列乘十,所以它跟着面额往上爬;末列拿一百除以面额,所以它往下落,从最小那一档的一万件落到最大那一档的一件。横着读一行,你拿到的是同一笔钱作为一叠和作为一个目标的样子。末列在 2 角 5 分那一行上的 400,是整把梯子上唯一非一二五规律那一档的指纹:那一列其余每个数都是整数好记的数,而 400 就是『四百枚 2 角 5 分等于一百个单位的钱』的样子。表里没有任何一处与币种绑定:梯子是页面自己的,这张表只是把它的算术写出来。每一行都是精确值、一处舍入都没有,因为这些面额乘除出来的数都在分能表示的范围内。
公式
某一档的小计 = 张数 × 面额 | 硬币小计 = 1 以下那六档之和 | 纸币小计 = 1 起那七档之和 | 合计金额 = 纸币小计 + 硬币小计 | 总张数 = 十三格张数相加
- denom001
- 最小的那一档你手上有多少,也就是百分之一。这一格的张数正是面板会与手算在最后一位分上打架的原因:三张是 0.03,而没有任何一个二进制浮点数正好是它,所以这一档在并进别处之前会先舍回分
- denom025
- 四分之一。它是整把梯子上唯一不是一、二、五的那一档,存在的原因是美元体系在铸它。它也是看清『硬币与纸币的分界跟的是单枚面额、不是加起来的总数』最干净的例子:四枚正好凑成一个单位,却仍然算硬币
- denom1
- 第一个算作纸币的档位,也是整条硬币/纸币分界画在的地方。这道界跟着美国与中国的习惯,一在那里是纸币;欧元区正好相反,一元与两元是硬币。所以欧元区的用户应当把『纸币小计』读成『梯子偏上那半截』
- denom100
- 梯子上最大的一档,也是张数上限所在:每一格最多收一万张,于是本页能表达的最大金额是单一面额的一百万。面额比它更大的货币在这儿没有对应的行,这是梯子的限制,不是算术的限制
- coinsTotal
- 1 以下每一档的和,舍到分一次。它是一个分项而不是累计值;在一叠全是纸币的钱里它是 0,而不是『没有』——0 是一个答案,它背后的那六档都数过了
- notesTotal
- 从 1 起每一档的和,舍到分一次。单看它,就是多数收银抽屉要的那个数:备用金按纸币点,硬币另有罐子
- totalValue
- 全部的钱,从舍过的两个分项相加,而不是从十三格重算一遍。所以面板上的加法精确闭合:纸币加硬币等于合计金额,照印出来的三个数就能验
- totalPieces
- 这一堆里有多少件,十三格张数全部相加。它是揪出数错的那一行:一个金额看着对、张数却明显偏高的合计,通常意味着有位数字落到了别的一格里
真的在数现金、想边数边看合计数的时候用这一页:收银抽屉、募捐箱、摊位、储蓄罐、出门前理一次钱包。它也是把手数的结果和写着的一个数对上的那一页,因为张数那一行会揪出金额那一行掩盖的错误。它不是换汇的那一页——这里没有任何汇率;也不是算找零的那一页,找零是一次减法而不是一次点数。
算例
默认:20 元 × 2、10 元 × 1、5 元 × 1、1 元 × 3、5 角 × 2
- 纸币:20 × 2 = 40,10 × 1 = 10,5 × 1 = 5,1 × 3 = 3,合起来 58.00
- 硬币:0.50 × 2 = 1.00
- 合计金额:58.00 + 1.00 = 59.00
- 总张数:2 + 1 + 1 + 3 + 2 = 9
一个真实存在的钱包,也是页面打开时的默认值,所以还没打字屏幕上就有一个算好的面板。九件、五十九个单位,其中一个是硬币。这一格也说明了加法闭合:纸币小计加硬币小计正好等于合计金额,照印出来的数就能验——这是本页唯一一个不需要算术的验算。
十张最大面额,别的都没有
- 纸币:100 × 10 = 1,000.00
- 硬币:0.00
- 合计金额:1,000.00 + 0.00 = 1,000.00
- 总张数:10
一个分项合理地为 0 的情形。没有哪一格是缺的、也没有哪一格被跳过:六个硬币格都数过了,它们是空的。『0 是被接受的计数而不是空栏』这件事值得知道,因为页面之所以能一打开就有结果,靠的正是它——默认值里有十二格是 0,面板上照样有一个数。
一把硬币:1 分 × 3、2 角 5 分 × 2、5 角 × 4
- 硬币:0.01 × 3 = 0.03,0.25 × 2 = 0.50,0.50 × 4 = 2.00
- 硬币小计:0.03 + 0.50 + 2.00 = 2.53
- 纸币:0.00
- 合计金额:0.00 + 2.53 = 2.53
- 总张数:3 + 2 + 4 = 9
九件、两块五毛三,全是硬币。要紧的是第一行:最小那一档三张是 0.03,而这个数没有任何一个二进制浮点数能精确表示,所以它先舍回分再并进别处。这就是硬币小计读出来是 2.53 而不是差一分的原因,也是面板在最小那一档上可以信的原因。
四枚 2 角 5 分,正好凑成一个单位
- 硬币:0.25 × 4 = 1.00
- 硬币小计:1.00
- 纸币:0.00
- 合计金额:1.00
- 总张数:4
分界的见证。四枚 2 角 5 分正好值一个单位,而它们算进硬币小计——因为分界跟的是每一件是什么,不是这堆钱加起来是多少。在它上面那一格里放一张一元的,那一张就进纸币小计。把它和表里那个差一分到一元的行对着看,就能看出这道界的形状;另外记住欧元区的一元与两元是硬币,在那边这两行会落在界线的另一侧。
一万张最大面额
- 纸币:100 × 10,000 = 1,000,000.00
- 硬币:0.00
- 合计金额:1,000,000.00
- 总张数:10,000
最大面额那一格的张数上限,也是本页能算出的最大金额:一百万。放在这里是为了看只填一格时一万件是什么样子,也是为了让张数那一行显出它的用处——张数填错了行,金额可能看着还挺像,而张数会明显不对,揪出它的就是这一行。
局限
有四件事值得先知道。第一件是梯子本身。它是一把梯子,不是唯一的一把:十三档取自各货币最常共有的那些,而它缺了真实存在的面额——二百分之一(欧元区铸的 2 分硬币),以及两百与五百(作为欧元纸币存在)。它还带着 2 角 5 分,那是美元体系的硬币,不是其余每一档都遵循的一二五规律的产物。你的货币上有本页没列的一档,就把它单独点出来再加到合计上。第二件是硬币与纸币的分界画在哪。它画在 1:跟着美国与中国的习惯,一在那里是纸币。欧元区正好相反,一元与两元是硬币,所以把这两档算进去的欧元区点数会把它们报在纸币小计里。这两个分项只是呈现方式,合计金额不受影响。第三件是币种。页面上没有任何一处指明币种——没有汇率也没有符号——所以数字就是你正在数的那个单位;把不同货币混在一次点数里,得到的合计数在算术上没问题,在含义上什么都不是。第四件是本页对每一格都照填照算。表单把每一格的张数限制在 0 到一万之间的整数,而它背后的算术自己不另加检查,因为没有哪两格之间可能冲突:一叠现金完全可以全是同一个面额,交叉校验没有东西可查。于是每一格都按填进来的数相加,页面不会发现那些只有你看得出来的错误。
常见问题
- 这个计算器支持哪些货币?
- 全都支持,因为它从不问。面板上每个数都是张数乘面额再相加,里面没有汇率也没有货币符号,所以答案是『你正在数的那个单位』。这也是唯一需要当心的地方:把不同货币混在一次点数里,算出来的合计数在算术上没问题,在含义上什么都不是。
- 为什么一元算纸币而不是硬币?
- 因为美国与中国的一元是纸币,这是跟着习惯定的。它是呈现方式,不是规则:欧元区把一元与两元发行成硬币,所以欧元区的点数会看到它们被报在纸币小计里。这道界只影响两个分项,合计金额与总张数不管某一档落在哪一侧都一样。
- 我的货币上有页面没列出的面额怎么办?
- 把它单独点出来加进合计。梯子是十三档,取自各货币最常共有的那些,而它确实缺了真实存在的面额:二百分之一(欧元区铸的 2 分硬币)、两百与五百(欧元纸币)。如果你的一堆现金整体都落在缺的那一档上,页面在其余部分仍然是对的,只是那一部分算不到。
- 总张数有什么用?
- 它是揪出数错的那一行。有位数字落错了格,金额可能看着还挺像,但张数会露馅:金额对得上、张数明显不对的一堆钱,就是填错了行,而这两个数放在一起才是第二个人能复核的东西。它通常也是存款单或者钱箱记录会跟金额写在一起的那个数。
- 一格能填负数吗?
- 输入框接受 0 到一万之间的整数,而算术本身什么都不拒绝——每一格都同样处理。这是设计的结果而不是一个功能:没有哪两格的取值可能相互冲突,因为一叠现金完全可以全是同一个面额,交叉校验没有东西可查。所以这一格就照它的意思用:这种面额你有多少件。
- 它和汇率换算是一回事吗?
- 不是,两者是邻居而不是重复。换算器收的是一种货币下的金额加一个汇率,给出另一种货币下的金额。本页收的是纸币与硬币的实际点数,给出这堆钱的价值;它里面没有汇率,也从不同时看两种货币。要换算的话,先用本页点出一个总数,再去换那一个数。