【开发者自荐】Calcuko(算子) - 多行变量公式计算器

Calcuko(算子) - 多行变量公式计算器

在线体验地址:https://Nigh.github.io/calcuko/

[!NOTE]
本项目受 calctus 启发而开发。
本人是calctus的重度用户,但是由于其为C#开发,只支持Windows环境,所以Calcuko作为一个跨平台的方案可以用于满足在其他平台上的公式计算需求。

之前在小众推荐过 calctus 来着:电子工程师的计算神器 calctus

Calcuko 是一款专为工程师、学生和开发者设计的轻量级、响应式多行公式计算器。它允许你像写代码一样编写计算逻辑,支持变量定义、实时求值以及自动依赖联动,并可以作为 PWA 应用安装到手机或电脑上离线使用。

:sparkles: 核心特性

  • :rocket: 实时联动计算:修改任意一行的数值,后续所有依赖该变量的行都会瞬间自动更新。
  • :memo: 混合编写模式:支持 变量 = 表达式 赋值模式,也支持纯表达式直接求值。
  • :artist_palette: 智能语法高亮:变量、运算符、数值和注释一目了然,并支持配对括号高亮,防止逻辑错误。
  • :mobile_phone: 离线优先 (PWA):支持安装到桌面或主屏幕,无需网络即可随时进行复杂计算。
  • :floppy_disk: 本地持久化:你的计算公式会自动保存到浏览器,下次打开即刻继续工作。
  • :speech_balloon: 注释支持:使用 // 记录你的思路或参数含义。

:rocket: 快速上手

1. 基础计算

直接输入公式即可查看结果:

(12 + 8) * 5 / 2
sqrt(144) + pow(2, 10)

2. 变量定义与引用

像写脚本一样定义变量:

price = 199
count = 3
tax = 0.08

total = price * count * (1 + tax)

3. 注释与复杂逻辑

// 输入参数
width = 50
height = 20

// 计算面积
area = width * height

// 引用上方变量
diagonal = sqrt(pow(width, 2) + pow(height, 2))

:books: 内置函数参考

Calcuko 内置了标准 Math 对象的所有常量和函数:

类型 示例
常量 PI, E
基础函数 abs(x), ceil(x), floor(x), round(x), max(a, b), min(a, b)
数学运算 sqrt(x), pow(base, exp), exp(x), log(x)
三角函数 sin(x), cos(x), tan(x), asin(x), acos(x), atan(x)
2 个赞


逗号的颜色有点浅,几乎看不见

我又忘记调样式了,我自己是dark theme,每次都忘记看默认的light theme效果了,等下全部统一theme就好了。

感觉像excel?

你可以看看我之前推荐过的 calctus,是类似的计算器。主要是我 Windows 用得少了,实在没有好的替代,就写了一个。

excel是可以,但是作为计算器对于我来说太重了。而且单元格引用计算,没有变量来得清晰直接。

其实更像 Linux 上的命令行计算器 bc

这个软件在 Windows 上可以通过 busybox-w32 来使用。

是指在Linux上?

这种计算器我主要实际的使用场景就是会有几个关联的公式,然后我需要频繁调整其中一些参数来进行计算。

您是说这句话吧:

这里的 “这个软件” 指的是我上文提到的 bc

抱歉理解错了。

没有用过bc,不过除了变量计算,我主要还是需要一些快捷的工程计算的特性,这部分后面也会增加。

类似 calctus 里面的很多功能,都是我平时会大量使用的。因为我现在工作平台完全切换到linux,没有windows机器来继续用它了。

而且现在放到web端,也让我可以在手机上使用了。

为什么我会看成量子计算器!

1 个赞

已更新主题配置。现在统一使用的是dark theme的固定主题了。顺便修了一下其他一些小问题。

ps. 之后会开始增加一些工程师常用的特性。

版本更新

  1. 增加了对SI数量词缀的支持(如 1.2M+510k
  2. 增加了数字直接接变量的隐式乘法支持(如 3a+4b
1 个赞

想问一下开发者,既然是工程用的计算器,日后是否有计划加入随机误差传递功能呢?比如,计算 (12.1 ± 0.2) × 3 + (23.1 ± 0.2) 的结果,给出数值与不确定度。

会实现。这也是 calctus 本身就具备的能力。我需要重点考虑的是输入的方式和表现的形式,来支持将不同的分布进行组合运算。

这里也有一个类似的:公式计算器 | 1024工具箱

虽然…但是…,大佬,有没有可能支持中文变量名 :rofl: ,做项目的时候经常要和客户沟通计算公式,刚好用上这个

安排了。支持unicode变量名,包括emoji

1 个赞

现在就参考他的变量显示的方案优化一下我的变量显示。暂时也没想到更好的展示方案。

我觉得可以考虑定义一种特殊的数据类型,该数据类型的数据包括两部分:数值与不确定度,输入时使用一些特殊的函数来输入,比如:

var = func(12.0, 1.2)

表示变量 var 为 12.0 ± 1.2。

版本更新

  • 增加常用进制支持
  • 增加unicode变量名支持
  • 优化变量快照模块展示方式
  • 其他UI与交互优化

@MightGuy