🛝Toolio
关于 联系方式

🧮 在线计算器——免费,支持历史记录和键盘输入

Toolio的计算器可以执行加、减、乘、除和百分比运算,并且可以保存您最近50个计算结果的滚动历史记录在浏览器中——它不涉及科学计算,没有括号,也没有记忆键(M+、M-、MR),因为这些按钮在界面上并不存在。这里没有运算符优先级解析器,界面上的按钮每次只执行一个运算,因此按下2 + 3 x 4 = 的结果会像普通的桌面计算器一样显示为20,而不是严格遵循代数运算顺序得到的14。每个结果在显示前都会四舍五入到12位有效数字,这就是为什么0.1 + 0.2会显示干净的0.3,而不是JavaScript原始的0.30000000000000004。

Toolio的计算器是一个基于浏览器的四则运算计算器——加、减、乘、除和百分比,具有50条记录的历史记录和完整的键盘支持,完全离线运行。

 
0
历史记录
尚无历史记录

隐私优先设计. 此工具完全在您的浏览器中运行,您输入的任何内容都不会上传,并且可以离线使用。

关于

本计算器的功能与限制

按钮网格为你提供 AC、退格、%、除法、乘法、减法、加法、数字 0-9、小数点、正负号键和等于号,这就是完整功能集。没有平方根、指数、三角函数、括号和记忆寄存器;如果你需要这些功能,这不是合适的工具。键盘与按钮功能一致:数字键、+、-、*(或 x 键)、/、Enter 或 = 用于等于、退格、Escape 用于清除、% 用于百分比,所有按键都连接到一个监听器,当你在页面上的其他输入字段中输入时,监听器不会干扰。在需要数字的地方输入 - 会开始一个负数,因此 5、x、-、3、= 会得到 -15,正负号键会翻转屏幕上显示数字的符号。

数学运算方式

运算符优先级与许多人对计算器的预期不同。工具不会保存输入的整串算式,只记住一个待处理的左操作数和一个运算符,下一个运算符或 = 一到,就立即算出这一步。具体来说:按下 2、+、3、x、4、=,逐步过程如下:按下 + 会将 2 存为待处理的左操作数;按下 3 设置下一个数字;按下 x 会强制立即计算待处理的 2 + 3(因为新运算符到达时仍有待处理的结果),得到 5,这成为新的左操作数;按下 4 设置下一个数字;按下 = 会计算 5 x 4 并显示 20。如果计算器对整个输入链应用完整的运算顺序,会显示 14(2 + 12),而不是 20。这种链式行为与普通四则运算计算器(大多数手机标准模式内置的那种)一致,而不是科学计算器或基于表达式的计算器,这也是此类工具出现“错误答案”报告的最常见原因。

浮点数处理是可见数字与原始计算数字出现差异的另一个地方。二进制浮点数无法精确表示大多数十进制分数,因此 JavaScript 计算 0.1 + 0.2 为 0.30000000000000004,100 x 1.1 为 110.00000000000001。结果以完整精度保留,仅在显示时四舍五入到 12 位有效数字,这会将这两个结果静默转换为人类预期的干净的 0.3 和 110,并使 8 ÷ 3 × 3 这类链式计算得出精确的 8,而不是基于四舍五入后的 2.66666666667。不过,这种修复有其限制:像 999999999999999 这样的 15 位整数,相同的 12 位有效数字截断会将其变为 1000000000000000,把一个精确整数变为另一个精确整数,仅仅因为显示四舍五入,这不是浮点数伪影,而是实际输入值的真正损失。一旦结果的量级达到约 1e21,JavaScript 的数字格式会自动切换为指数表示法(1e+21),无论 12 位四舍五入会显示什么。

一些较小的保护措施完善了行为:除以零会在内部抛出错误,显示本地化的“错误”消息,而不是 Infinity 或 NaN,并清除待处理的操作,以便你可以重新开始;在输入时,原始数字输入最多限制为 15 个字符(退格仍可正常工作,直到只剩一个 0);再次按下 = 会重复上一次操作(7、+、3、=,然后再按两次 = 会显示 10、13、16);百分比取决于待处理的操作:在 + 或 - 之后,按下 % 会计算已存左操作数的百分比(200、+、10、% 显示 20,因此之后按下 = 会得到 220),而在 x 或 / 之后或单独按下时,只会将当前显示数字除以 100(200、x、10、% = 显示 20;200、/、10、% = 显示 2000)。

计算历史:最近 50 条,保存在浏览器中

历史记录在浏览器 localStorage 中,在本工具自己的命名空间下保存最近 50 条计算;第 51 条记录写入时会静默删除最旧的一条。点击任何历史记录行会将结果召回显示,并显示其表达式行,以便你可以继续计算。“清除历史记录”会立即清空列表,并弹出提示确认已执行。由于是 localStorage,历史记录与当前设备上的特定浏览器绑定,它不会在隐私/无痕模式下打开的标签页之间、不同浏览器之间或不同设备之间同步。

如何使用

  1. 使用键盘或点击屏幕上的数字按钮输入数字。
  2. 按下 +、-、x 或 /(或对应的键盘键)以选择操作;按下第二个运算符会先计算待处理的运算。按下 ±(或在需要数字的地方输入 -)以输入负数。
  3. 使用 % 计算百分比:在 + 或 - 之后,会计算已存数值的百分比(200、+、10、% 然后 = 得到 220);在 x 或 / 之后或单独使用时,会将当前显示数字除以 100(200、x、10、% 然后 = 得到 20)。
  4. 按下 Enter 或 = 以查看最终结果,会自动保存到历史记录,并四舍五入到 12 位有效数字显示。再次按下 = 会重复上一次操作。
  5. 点击历史面板中的任何条目,可以恢复该结果及其表达式,然后继续计算。
  6. 按下Escape或点击AC可以清除所有内容,或按下Backspace可以删除最后输入的数字。

常见问题

0.1 + 0.2在这里真的会显示0.3,还是通常的浮点数混乱?
它会显示干净的0.3。JavaScript将原始总和计算为0.30000000000000004,因为二进制浮点数无法精确表示0.1或0.2,但这个计算器在显示前会将每个结果四舍五入到12位有效数字,这会隐藏这种伪影,使日常数字看起来更整洁。
如果我输入2 + 3 x 4 =,我会得到14还是20?
你会得到20。在有前一个操作待处理时按下运算符会立即评估该待处理步骤(2 + 3 = 5),然后下一个运算符应用于该结果(5 x 4 = 20)。这是普通四则运算计算器的标准行为,而不是错误——一个科学计算器在输入链中应用完整的运算顺序会给出14。
是否有科学模式、括号或记忆键(M+/M-/MR)?
没有。这是一个四则运算计算器,加上百分比和历史记录——界面上没有三角函数、指数、平方根、括号或记忆寄存器。如果你需要这些功能,这个特定的工具并不是为你设计的。
它会上传我的计算吗?
不会。所有计算都在你的浏览器中进行,历史记录仅存储在你的浏览器的localStorage中。没有任何内容会被发送到服务器,并且该工具在完全没有互联网连接的情况下也能正常工作。
对于非常大或非常精确的数字会怎样?
在显示前,结果会被四舍五入到12位有效数字,这可能会悄悄地改变一个精确的大整数——例如,15位数字999999999999999会显示为1000000000000000。一旦结果的量级达到约1e21,显示会切换为指数表示法(如1e+21),无论四舍五入如何。
如果我除以零会怎样?
计算器会明确捕捉到这一点,并显示本地化的‘错误’消息,而不是Infinity或NaN,然后清除待处理的操作,以便你可以立即开始新的计算。
此工具会上传我的数据吗?
不会。所有操作都在您的浏览器中完成,因此您的数据永远不会离开您的设备 — 甚至在页面加载后也可以离线使用。