【问题标题】:Django: How to store mathematical expressions in mysql and then use themDjango:如何在mysql中存储数学表达式然后使用它们
【发布时间】:2021-04-02 01:12:18
【问题描述】:

我正在使用 Django,并希望用户能够按照 BODMAS 规则将如下数学表达式存储在 mysql 数据库中:

(A / B) * C + D / (E - D) + J^2

然后我希望以后能够在我的视图中使用这些表达式。很像 MS Excel。

我可以构建一些模型来存储它们的对象、变量和运算符,并构建一个函数来实现 BODMAS,但这对于一个简单的任务来说听起来很复杂。

有没有更简单、更短的方法来完成这两个步骤?

【问题讨论】:

    标签: django


    【解决方案1】:

    有很多方法可以做到这一点。您可以将其保存为纯文本,为每个表达式创建单独的表格,并在进行任何类型的数学计算时使用这些表格。

    几个月前我所做的是将整个表达式保存为富文本。

    所以我这样保存它: 表达式1:(A / B) * C + D / (E - D) + J^2

    表达式 2:(A / B) * C + D * (E + D) + J^2 等等等等

    我的项目非常简单,需要我将整个表达式保存在一行中以进行测验。

    您可以使用 tinymce 作为富文本编辑器。

    另一种方法是将其保存为 LaTeX。更多详情请看这里:

    How to store mathematical expressions/explanations into database

    MathJax for client side equation rendering

    【讨论】:

    • 存储表达式是问题的一半。只有在我的观点中可以使用它才会有用。关于如何在视图中使用它的任何想法?通过用数字替换变量。无需开发复杂的功能?
    • @mad_accountant 您必须在前端处理替换。因此,如果用户输入 x = 5,则您必须获取 x 的值并使用 javascript/typescript 进行计算,然后根据需要将答案存储在数据库中。另一方面,您可以将每个变量独立存储在数据库中并用于计算。我已经更新了我的答案并提供了 mathJax 链接
    猜你喜欢
    • 1970-01-01
    • 2020-10-16
    • 2021-04-02
    • 1970-01-01
    • 2018-12-03
    • 2012-11-06
    • 1970-01-01
    • 2019-04-23
    • 2010-10-30
    相关资源
    最近更新 更多