如何将“1 + 23-56”之类的字符串转换为数字

时间:2012-09-06 18:44:51

标签: java string numbers

  

可能重复:
  Evaluating a math expression given in string form

如何将表示数学表达式的字符串(如“1 + 23-56”)转换为数字?我试图用Java做到这一点。

1 个答案:

答案 0 :(得分:1)

您必须使用自己的语法创建自己的语言规范,然后实现它,有几个如何为计算器编写语言的示例。

基本原则是首先进行语法分析,生成语法树并使用语言规则解析它,语义分析。

以下是一些例子: