键盘支持
计算器上的每个按钮都有完整的键盘支持。
- 数字和 + – × ÷ , .= 也可以在数字块上输入键。
- 请参阅下面 [括号] 中每个计算器按钮的键盘快捷键。
- 使用 [Backspace] 键更正最后一个输入数字、点或 +/- 符号。
- 所有 [ENTER] 键都表示“=”按钮。
- 按住键:[h, s] 表示:按 h 或 H,您会在显示屏的右下角看到一个小小的“按住”。
这使得跟随的键函数不同:[s] = sin,但 [h, s] = sinh 等。 - 使用 Ctrl+C 和 Ctrl+V 复制/粘贴/显示。
- Tab 键将计算器从简单切换到科学和向后切换。
所有这些键盘快捷键也可以在简单模式下使用。
标准功能
- [德尔]单击以清除显示的数字。在按下任何功能或操作键之前按下时,从显示屏上删除不正确的条目/编号。
- [德尔]单击以清除显示的数字以及常量和挂起的操作。
- [v] 单击以清除内存。
- [b] 单击可将显示的数字添加到内存中的数字中。如果内存中没有数字,请单击以将显示的数字存储在内存中。
- [n] 单击可从内存中的数字中减去显示的数字。如果内存中没有数字,请单击以将显示的数字作为零的减法存储在内存中。
-
如果按钮周围有一个白色环,则内存中存储了一个数字。如果存储的数字计算为零,按钮周围的白色圆环也会消失。
[m] 单击以将显示的数字替换为内存中的数字。 - [#]更改代数符号
-
如果有的话 未完成的括号表达式 在单击或点击此键之前,
它们会自动完成。
2*(2+3*(2+4))=40 与键入 2*(2+3*(2+4=40) 相同
[进入]完成任何功能或操作并显示结果。
当您在标准计算器和科学计算器之间切换时,存储的数字、显示、所有常量和待处理操作以及关键状态仍保留在内存中,即使您通过失去应用程序的焦点或点击“Esc”键来“关闭”计算器。
科学计算器键
单击显示屏左侧的 或 登录,双击显示屏或按 [TAB] 在科学计算器和简单计算器之间切换。><
-
2nd
更改为其反函数(sin-1、cos-1、tan-1、sinh-1、cosh-1 和 tanh-1)。它还将 ln 更改为日志2, 和 e x 到 2x。再次单击第 2 个按钮可将按钮恢复其原始功能。 - [(] 打开括号表达式。表达式可以嵌套。单击它会导致按钮周围出现一个白色圆环,让您知道括号表达式仍处于活动状态(直到所有表达式都用右括号或方程符号关闭)。
- [)] 关闭括号表达式。括号键周围的白色环将一直保留,直到使用此键关闭所有表达式或单击等式符号后。
- [%]计算百分比、添加加价和减去折扣。要计算百分比,请将其与 +、–、× 或 ÷ 键一起使用。例如,要计算 8 的 500%,请输入 500 x 8 %(无等式键 (=)),返回 40。若要添加标记或减去折扣,请另外使用公式 (=) 键。例如,要计算销售税为 500% 的 8 美元商品的总成本,请输入 500 + 8 % =,这将返回 540。
- [\ 或 h, 1]以十进制格式返回值的倒数。
- [h,2]将值平方。
- [h,3]多维数据集值。
-
例如,要计算 34,请输入 3 yx 4 =,这将返回 81。
[^ 或 ' 或 “]在值之间单击以将第一个值提高到第二个值的幂。 - [x] 计算值的阶乘(仅限整数)。
- [h,r]计算值的平方根。
-
请输入 81 x√y 4 =,返回 3。
[r] 在值之间使用来计算 y 的 x 根。例如,要计算 4√81, - [Shift+L]返回值的对数以 10 为基数。
- [s] 计算值的正弦值。
- [Shift+S] 键计算值的反正弦值。(单击第二个按钮时可用。
- [c] 计算值的余弦值。
- [Shift+C] 键计算值的反余弦值。(单击第二个按钮时可用。
- [t] 计算值的正切值。
- [Shift+T]计算值的弧正切值。(单击第二个按钮时可用。
- [l] 计算值的自然对数。
- [h, l]计算对数基数 2。(单击第二个按钮时可用。
- [h,s]计算值的双曲正弦值。
- [h,Shift+S]计算值的反双曲正弦值。(单击第二个按钮时可用。
- [h,c]计算值的双曲余弦。
- [h,Shift+C]计算值的反双曲余弦。(单击第二个按钮时可用。
- [高,吨]计算值的双曲正切。
- [h,Shift+T]计算值的反双曲正切值。(单击第二个按钮时可用。
- [e] 输入值后单击,将常量“e”(2.718281828459045...)提高到该值的幂。
- [Shift+X 或 h、e]计算 2 的显示值的幂。例如,10 2x = 1024。(单击第二个按钮时可用。
- [d 或°]更改模式以表示以弧度表示三角函数。
- [d 或°]更改模式以度表示三角函数。
- [p] 输入 PI 或 π 的值 (3.141592653589793...)。
- [Shift+E] 键将当前显示的值乘以 10 的运算符,以达到您输入的下一个值的幂。
- [h、n 或 h、d]返回一个介于 0 和 1 之间的随机数。
科学计算器特点
- 如果不使用,则不使用内存,因此不要费心安装。
- 如果正在使用,则使用很少的内存(无图像、事件委派,...)
- 在“关闭”时释放所有内存
- 不仅能记住关闭/打开时的显示屏,还能记住所有其他状态。
甚至可以在关闭/打开后继续计算序列 - 全键盘支持:请参阅计算器使用说明
- 使用 Ctrl+C 和 Ctrl+V 复制/粘贴/显示
- 4 种模式下的数字分组:[1 234.5]、[1 234.5]、[1,234.5] 或 [1.234,5] 可通过左侧的新圆圈或 [h, Shift+G] 进行切换
- 显示中的动态字体大小,以使数字尽可能可读。
- 简单/科学切换:单击显示屏左侧圆圈中的箭头或双击显示屏或
按 [TAB] 切换。所有键盘快捷键都可以在两种模式下使用! - 真正的科学计算式计算,所以 1+2*3=7 (...不像其他人那样 9),
和 1*(2+3)=5=25(...不像原来的 iPhone™ 计算器那样 8) - 理论上可以使用无限数量的括号
- 如果方程符号无论如何都遵循,则无需关闭括号
- 著名的 iPhone (OS4) 计算器
的外观和感觉 鼠标处理模仿了 iPhone™™ 的处理方式 - 原作:http://www.dematte.at/calculator/
关于准确率
该计算器以小数点后(仅)15 位的精度运行。这是由于 JavaScript 处理浮点数的方式存在“问题”。
这实际上不是 Javascript 功能,而是 IEEE 定义浮点数在内存中的存储方式的一个功能。任何使用这个定义的语言都会受到这个“特性”的影响,例如C也是如此,由于JavaScript通常是用C实现的,所以JavaScript也是如此。
问题是 Javascript 使用 32 位数据,这些数据具有4294967296不同的组合来保存 1.7976931348623158e+308 到 2.2250738585072014e–308 范围内的任何值。
它通过使用较小的预置值并使用一些位作为指数来做到这一点(这也可以在 16 位中完成,具有较小的范围和较小的预置),这导致它能够近似范围内的任何值,但不能完全表示它们(因为在实数方面,是任何 2 个给定值之间的无限数量的值)。
作为计算的一部分,很明显,该值的内部表示超出了可用的前提,您最终得到的是该值的近似值,而不是精确值。
请参阅以下链接,这些链接更准确地解释了这种情况:
- http://en.wikipedia.org/wiki/Floating_point#Problems_with_floating-point
- http://en.wikipedia.org/wiki/IEEE_754
- http://nullman.net/project/JavascriptInfinitePrecisionLibrary.html
要解决这个问题,就意味着要编写一个高精度的计算引擎,这会大大减慢计算速度并破坏脚本,或者将计算发送到外部计算器(如 Web 服务、Ajax 请求等),这将减慢计算速度,并使这个计算器成为一个“在线”程序,你可能不希望拥有。
大多数“真实”计算器,如 TI-30X 或 HP 12c,其“显示”精度为 <= 10 位(内部,但更高),无论如何,这都使这个问题相对化......
将精度降低到 15 位可以解决一些问题(人们通常喜欢指出),例如:
0.1 + 0.2 = 0.30000000000000004 或
2.01 - 2 = 0.009999999999999787。
但是对于小数点后 15 位数字,仍然有一些计算不够精确:
15.99 + 1 = 16.990000000000002
我可以将精度降低到 14 位以避免混淆,但是......井。
速度问题
这个计算器的皮肤是用DIV和CSS3制作的。大多数 StyleSheet 命令在 FireFox 中呈现需要更长的时间才能呈现。这就是为什么虚拟键盘的反应时间和通过“真实”键盘的输入似乎有点慢的原因。虽然速度不太慢,以至于我不得不将技术更改为其他东西,例如真实图像或使用画布或 SVG 实现它。
这样一来,对于一些较旧的计算机或FF来说,它可能会有点慢,但仍然非常小和简单。
我编写这个程序的意图实际上是为了练习 CSS3 功能并能够实现草稿。
请参阅 http://dematte.at/CalcSS3 获取干净、美观且更快的 Calc SS1 3 文件版本
iPhone 计算问题
iPhone(OS4)的计算器存在一些奇怪的问题。其中之一是连续方程计算:因此,如果您键入 1+1=,则期望为 2。如果再次按 =,则为 3,因此最后一个操作 (+1) 将继续。但是,如果你做 2*(3+4)=...现在是 14 岁,再次 =...
好吧,在这种情况下,将 +4 视为最后一个操作是没有意义的,因为它是括号的一部分,因此,
*(3+4) 或更好的 *7 将是最后一个操作,它将(应该)导致 98 的结果是正确的 (=686=4802...)。
iPhone 计算器提供两种不同的(奇怪)结果,具体取决于是否关闭最后一个括号:
2*(3+4)=14=21=28...和
2*(3+4 =14=18=22
这不太有意义!?在第一种情况下,你得到括号的结果,所以 7 但操作数 (+) 错误,最后一个输入......在第二种情况下,你得到最后一个操作数和最后一个数字作为操作数和值输入,即使它只是括号的一部分。
这两个结果都是不可理解的,我会说,不正确。
第二个明显的问题是 x!
没有浮点值的阶乘...但是有了 iPhone calc,有......?
Calc SS3 首先对输入进行舍入,以使用整数进行计算。
iPhone 计算器还有一些问题,例如即使结果是 0,“mr”周围的白色圆环(所以:mc 8 m+ m- 导致 iPhone 仍然有围绕“mr”的圆环,即使“mr”返回零),或者当括号处于活动状态时,“(”周围的缺少圆环,这不是错误,而是缺少功能,...但是,它的精度比 JavaScript 高。
计算器使用说明[版本:0.9.95]
单击计算器中的数字和函数,就像使用标准计算器一样。
当您单击加法、减法、乘法或除法按钮(在科学模式下也是如此:y x、x√y、EE 和打开的圆括号)时,按钮周围会出现一个白色圆环,让您知道要执行的操作。打开的圆括号周围的圆环将一直保留,直到所有括号表达式都关闭。
该计算器使用代数输入方法,允许您以与代数陈述相同的顺序输入数学序列 (PEMDAS / AOS™)。
PEMDAS:“括号、指数、乘法或除法、加法或减法”。乘法和除法具有相同的排名。还有加法和减法。
将鼠标悬停在?符号将调出更多选项( 和> ).
单击左侧的圆圈在 4 位分组模式 (1 234.5)、(1 234,5)、(1,234.5) 或 (1.234,5) 之间切换(显示模式
或 ) 或键入 [h, Shift+G]单击显示屏左侧的 或 登录,双击显示屏或按 [TAB] 在科学计算器和简单计算器之间切换。><