使用方法
- 在「答对题数」里填这份试卷答对的题数,默认示例是 42。填小数、负数或超过 500 的值都会被拦下并说明允许范围。
- 在「题目总数」里填试卷总题数,默认示例是 50。范围是 1 到 500 的整数,填 0 会被拒绝,因为除数为 0 没有意义。
- 在「及格线」里填百分制及格线,默认 60。学校按 70% 或 85% 判及格时改这里即可,判定只影响文字结果,不影响得分率。
- 点「计算」,或在三个输入框任意一个里按 Enter。结果区给出得分率、字母等级和及格判定,下面一行给出答错题数与每题扣分。
- 对照表默认显示 12 行,点「加载更多」补上 F 档一行;「导出 CSV」带 BOM 头,Excel 打开中文不乱码。
这个测试成绩计算器能解决什么
拿到一份批改完的卷子,想知道 42/50 到底是什么水平:输入两个数就得到 84.0% 和 B 档,不用自己按计算器再心算四舍五入。
老师按 +/− 十分制给等级,而你只知道百分比:对照表把 13 个档位的最低得分率和「总 50 题至少答对几题」一次列全,89% 落在 B+、90% 起是 A-,一眼可查。
想评估错题的代价:本页给出每题占 2.00 个百分点(总 50 题时),再错 1 题就掉到 82.0%,直接看出哪道题决定档位。
学校及格线不是 60% 时:把及格线改成 85%,42/50(84.0%)的判定会从「及格」变成「不及格」,两种口径都能对上。
本页只做单份试卷的换算,不做跨科加权平均,也不把等级换算成绩点——跨科平均是平均值计算器的活,等级转绩点属于绩点计算器的口径。本页也不做排名,需要看分数在全体的位置请用百分位计算器。
原理与规则说明
测试成绩计算器只做一步除法再加一次查表:得分率 = 答对题数 ÷ 题目总数 × 100,然后按 +/− 十分制阈值判级。判级比较用整数交叉相乘 答对 × 100 ≥ 总数 × 阈值,而不是先算出小数百分比再比较,原因见下面的精度说明。
为什么判级用原始值而不是四舍五入后的值:显示保留一位小数是给人看的,判级必须用原始商。实测 188/209 = 89.952153%,显示成 90.0%,但原始值小于 90,判 B+ 而不是 A-。如果把显示值拿去判级,这一分就会错档。
为什么阈值取 97/93/90/87/83/80/77/73/70/67/63/60:这是美式学校流传最广的 +/− 十分制档位(A+ 从 97 起,A- 从 90 起,F 低于 60)。它不是某个国家标准,不同学校会把 A- 定在 92 或 93,本页取的是最常见的一组,并把全部 13 档列出来,便于你按本校细则自己对号。
为什么用整数交叉相乘:29 ÷ 100 × 100 在双精度浮点里得到 28.999999999999996 而不是 29,Math.floor 会把它砍成 28。整数乘法 29 × 100 ≥ 100 × 60 不经过小数,没有这个风险。本页 13 档阈值在总题数 ≤ 3000 的全枚举中没有一例被浮点误差击中(0 例),所以这是防御性写法,但成本为零。
及格线判定同样用原始值:得分率 ≥ 及格线 才算及格。84.0% 在及格线 60、70、80 时都及格,在 85 时不及格,判定随输入变化,不会静默按 60 处理。
完整示例(数值仅作演示)
默认输入 42 / 50、及格线 60:得分率 84.0%,字母等级 B(B 档是 83%~86.99%),判定及格。答错 8 题,每题 2.00 个百分点;再错 1 题是 41/50 = 82.0%,掉到 B-;再对 1 题是 43/50 = 86.0%,仍是 B。
把及格线改成 85:同样 42/50 = 84.0%,判定变为不及格,等级仍是 B。这说明等级与及格判定是两条独立的规则,改及格线不会改档位。
换一份 20 题的小测:17/20 = 85.0%,B;18/20 = 90.0%,A-。同样是差 1 题,20 题制每题 5.00 个百分点,比 50 题制的 2.00 更贵,这正是对照表要分两列的原因。
非整除的例子:17/19 = 89.473684%,显示 89.5%,判 B+;23/27 = 85.185185%,显示 85.2%,判 B。显示值四舍五入到一位小数,判级仍按原始商。
输入范围与对照表
| 答对 / 总数 | 得分率(显示) | 原始值 | 等级 | 60% 及格线判定 |
|---|---|---|---|---|
| 50 / 50 | 100.0% | 100 | A+ | 及格 |
| 45 / 50 | 90.0% | 90 | A- | 及格 |
| 42 / 50 | 84.0% | 84 | B | 及格 |
| 39 / 50 | 78.0% | 78 | C+ | 及格 |
| 30 / 50 | 60.0% | 60 | D- | 及格(正好压线) |
| 29 / 50 | 58.0% | 58 | F | 不及格 |
| 18 / 20 | 90.0% | 90 | A- | 及格 |
| 17 / 20 | 85.0% | 85 | B | 及格 |
| 12 / 20 | 60.0% | 60 | D- | 及格 |
| 9 / 10 | 90.0% | 90 | A- | 及格 |
| 8 / 10 | 80.0% | 80 | B- | 及格 |
| 29 / 32 | 90.6% | 90.625 | A- | 及格 |
| 0 / 50 | 0.0% | 0 | F | 不及格 |
输入范围:答对题数 0 到 500 的整数,题目总数 1 到 500 的整数,及格线 1 到 100 的整数。三处任一越界都会给出指明字段和允许范围的提示,不会把非法值改成默认值再算。
常见误用对照:把「答对题数」和「答错题数」填反。42/50 是 84.0%(B),而 8/50 是 16.0%(F),两者差得极远;输入框上限是题目总数,填反时本页会提示「答对题数(8)不能大于题目总数(50)」。
输入范围、边界与精度说明
除数为零直接拒绝:题目总数填 0 时 42 ÷ 0 得 Infinity,本页在除法之前就拦下,提示「题目总数必须是 1 到 500 的整数」,不会显示 Infinity 或 NaN。
浮点回退实测:29 ÷ 100 × 100 得 28.999999999999996,57 ÷ 100 × 100 得 56.99999999999999。Math.floor 会把它们分别砍成 28 和 56,所以本页所有阈值比较都写成 答对 × 100 ≥ 总数 × 阈值 的整数形式。把 13 档阈值与总题数 1 到 3000 全枚举一遍,没有任何一档被这个误差击中(0 例),但整数写法从根上消除了这类风险。
显示与判级的错位有个真实案例:188/209 的原始值是 89.952153%,显示成 90.0%,但判级按原始值得 B+。也就是说「显示 90.0% 却不是 A-」不是 bug,是显示精度与判级精度分离的结果,本页在结果里同时给出原始商,方便核对。
答对题数等于题目总数时得 100.0% 和 A+;答对 0 题得 0.0% 和 F,两条边界都正常出结果,不判非法。答对题数大于题目总数(例如 42/40)会被拒绝,提示两个数的当前值。
每题扣分按 100 ÷ 题目总数 计算,保留两位小数:总 50 题是 2.00 个百分点/题,总 20 题是 5.00 个百分点/题,总 32 题是 3.13 个百分点/题。它只用于估算错题代价,不参与等级判定。
常见误用的正确解释:有人把 89.5% 四舍五入成 90% 就当 A-,这是错的——本页 17/19 = 89.473684%,显示 89.5%,判 B+。四舍五入只发生在显示层,档位归属永远看原始商。
常见问题
89.5% 为什么不是 A-?
因为 89.5% 多数时候是显示值。17/19 的原始商是 89.473684%,四舍五入到一位小数才显示成 89.5%。判级用原始商,89.47 小于 90 的 A- 门槛,所以是 B+。只有原始商真的达到 90.0% 才给 A-。
显示 90.0% 却判了 B+,是算错了吗?
不是。188/209 = 89.952153%,显示时四舍五入到 90.0%,判级按原始值得 B+。结果区同时给原始商,核对一眼就能看出是显示精度的问题,不是档位算错。
改及格线会改变字母等级吗?
不会。等级只由 13 档阈值决定,及格线只影响「及格 / 不及格」这一段文字。42/50 在及格线 85 时等级仍是 B,只是判定从及格变成不及格。
我们学校的 A- 是 92%,怎么办?
本页用的是最常见的 +/− 十分制(A- 从 90 起)。如果本校 A- 定在 92,请把 92 到 96 的分数对照本页 A- 与 A 两档自行判读,对照表把每档的最低答对题数都列出来了,可以直接换算。
题目数上限为什么是 500?
一张标准化试卷超过 500 题的极少见,而且题目数越大,每题的分值越小、四舍五入的影响也越小。500 题以内每题最少占 0.2 个百分点,显示精度足够;需要更大规模可以拆成两份分别算。
能把等级换算成绩点吗?
本页不做。等级到绩点(4.0 制)的映射规则各校不同,属于绩点计算器的口径,本页只给等级本身,避免两套映射互相打架。
为什么及格线要填整数?
及格线是学校公布的整数档位(60、70、85),按整数收口可以避免 59.9 这类边界被误填。得分率本身不受影响,判定时用的是原始商与整数及格线的直接比较。
输入的分数会被上传吗?
不会。全部计算只用浏览器原生的除法、整数比较和 Math.round,没有任何网络请求,可以在开发者工具的 Network 面板确认,页面加载后不会再发出请求。
相关工具
测试成绩计算器只解决「一份卷子的答对题数换算」这一件事,分数相关的其它口径各有专门页面。