JavaScript字符串解析器计算器

JavaScript String parser calculator

本文关键字:计算器 字符串 JavaScript      更新时间:2023-09-26

我正在开发一个JavaScript,其中有字符串:

var raw = "123 + 32 − 65";

我正在试着制作一个计算器,但我正在努力找出最好的起点。我应该把它分成一个数组吗?

var split = raw.split(" ");
// ['123', '+', '32', '−', '65']

但这将是一大堆if语句。

给定这个字符串,创建计算器解析器的最佳逻辑方法是什么?

这是一个可以使用eval的地方。请确保对输入进行消毒,并注意它只适用于有效的JavaScript。或者编写自己的解析器。

您需要处理ASCII值,如果每个子字符串('...'.charCodeAt(0);)的第一个字符的ASCII值在48和57之间,那么您知道这是一个数字,您必须使用parseInt('...')。对于符号,ascii码为:

'*'.charCodeAt(0); //returns 42
'+'.charCodeAt(0); //returns 43
'-'.charCodeAt(0); //returns 45
'/'.charCodeAt(0); //returns 47

试试这个。对不起,我不想继续讲代码了,我在打电话。无论如何,希望它能有所帮助!