基于字符串的公式处理方法及装置与流程

文档序号:12719532阅读:来源:国知局

技术特征:

1.一种基于字符串的公式处理方法,其特征在于,所述方法包括:

基于公式配置表,获取待处理的字符串公式;

对所述字符串公式进行遍历,根据遍历结果生成含有公式的数据结构集合;

根据所述数据结构集合,计算获得所述字符串公式对应的计算结果。

2.根据权利要求1所述的方法,其特征在于,所述基于公式配置表,获取待处理的字符串公式之前,还包括:

获取用户输入的公式标识及参数;

在所述公式配置表中查找所述公式标识对应的字符串公式;

根据所述参数对查找到的字符串公式进行配置。

3.根据权利要求1所述的方法,其特征在于,所述对所述字符串公式进行遍历,根据遍历结果生成含有公式的数据结构集合,包括:

按照所述字符串公式中字符的顺序,检测所述字符串公式中每一字符的类型;

对于所述字符串公式中的任一字符,当检测到所述任一字符的类型为字母时,对所述字母的后续字符类型进行检测,直到检测到字符类型不为字母的字符为止,将所述字母及后续字符类型连续为字母的字符作为函数名,并按照顺序加入到所述数据结构集合中;

当检测到所述任一字符的类型为数字时,对所述数字的后续字符类型进行检测,直到检测到字符类型不为数字的字符为止,将所述数字及后续字符类型连续为数字的字符作为一个数字,并按照顺序加入到所述数据结构集合中;

当检测到所述任一字符的类型为运算符时,将所述运算符按照顺序加入到所述数据结构集合中。

4.根据权利要求1所述的方法,其特征在于,所述根据所述数据结构集合,计算获得所述字符串公式对应的计算结果之前,还包括:

对所述数据结构集合中的元素进行整理。

5.根据权利要求4所述的方法,其特征在于,所述对所述数据结构集合中的元素进行整理,包括:

对所述数据结构集合中的每一元素进行检测,去除所述数据结构集合中多余的括号元素。

6.根据权利要求4所述的方法,其特征在于,所述对所述数据结构集合中的元素进行整理,包括:

对于所述数据结构集合中的任一负号元素,当所述任一负号元素为所述数据结构集合中的第一个元素时,在所述任一负号元素的前面增加一个数字元素-1,并作为所述数据结构集合中的第一个元素,同时将所述任一负号元素修改为乘号元素;

当所述任一负号元素不为所述数据结构集合中的第一个元素时,若所述任一负号元素的前一个元素不为后括号元素且不为数字元素,同时所述任一负号元素的下一个元素为数字元素,将下一个数字元素乘以-1的运算结果作为所述任一负号元素新的下一个元素,并从所述数据结构集合中删除所述任一负号元素;

当所述任一负号元素不为所述数据结构集合中的第一个元素时,若所述任一负号元素的前一个元素为前括号元素或者逗号元素,在所述任一负号元素的后面插入一个乘号元素,并作为所述任一负号元素的下一个元素,同时将所述任一负号元素修改为数字元素-1。

7.根据权利要求1所述的方法,其特征在于,所述根据所述数据结构集合,计算获得所述字符串公式对应的计算结果,包括:

对所述数据结构集合中的每一元素进行递归遍历;

基于递归遍历过程,对所述数据结构集合中的每一元素进行计算处理,得到所述字符串公式对应的计算结果。

8.根据权利要求7所述的方法,其特征在于,所述基于递归遍历过程,对所述数据结构集合中的每一元素进行计算处理,得到所述字符串公式对应的计算结果,包括:

当遍历到为数字的任一元素时,基于所述任一元素的后续运算符元素及运算符的优先级,计算所述任一元素与后续元素之间的运算结果;

对所述任一元素与其它参与运算的后续元素进行合并,将所述运算结果作为合并得到的运算结果元素,并将所述运算结果元素置入所述数据结构集合中继续进行递归遍历,直到得到所述字符串公式对应的计算结果。

9.根据权利要求7所述的方法,其特征在于,所述基于递归遍历过程,对所述数据结构集合中的每一元素进行计算处理,得到所述字符串公式对应的计算结果,包括:

当遍历到为函数名的任一元素时,基于所述任一元素后续的相关参数元素,计算所述任一元素对应的函数值;

对所述任一元素与后续的相关参数元素进行合并,将所述函数值作为合并得到的函数值元素,并将所述函数值元素置入所述数据结构集合中继续进行递归遍历,直到得到所述字符串公式对应的计算结果。

10.一种基于字符串的公式处理装置,其特征在于,所述装置包括:

第一获取模块,用于基于公式配置表,获取待处理的字符串公式;

遍历模块,用于对所述字符串公式进行遍历,根据遍历结果生成含有公式的数据结构集合;

计算模块,用于根据所述数据结构集合,计算获得所述字符串公式对应的计算结果。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1