gpt4 book ai didi

javascript - 想要转换字符串

转载 作者:行者123 更新时间:2023-11-28 01:33:26 26 4
gpt4 key购买 nike

所以我有这段代码,我试图在其中创建一个简单的计算器:

window.onload = function () {make_buttons ('calc'); }

function make_buttons (id) {
var parent = document.getElementById(id);
var input = document.createElement("input");
input.type = 'text'; input.id = 'inp';
parent.appendChild(input);
for (var i = 0;i < 10; i++){
var btn = document.createElement ("button");
btn.innerHTML = i;
btn.id = i;
parent.appendChild(btn);
(function(index) {btn.onclick = function() {input.value += index;}})(i);
}

var multiply = document.createElement ("button");
multiply.innerHTML = "*";
multiply.id = "*";
parent.appendChild(multiply);
multiply.onclick = function () {input.value += '*';};
var divide = document.createElement ("button");
divide.innerHTML = "/";
divide.id = "/";
parent.appendChild(divide);
divide.onclick = function () {input.value += '/';};
var add = document.createElement ("button");
add.innerHTML = "+";
add.id = "+";
parent.appendChild(add);
add.onclick = function () {input.value += '+';};
var substract = document.createElement ("button");
substract.innerHTML = "-";
substract.id = "-";
parent.appendChild(substract);
substract.onclick = function () {input.value += '-';};
var calc_it = document.createElement ("button");
calc_it.innerHTML = "=";
calc_it.id = "=";
parent.appendChild(calc_it);
calc_it.onclick = function () {calculate ()};

};

function calculate () {
var info = document.getElementById ('inp').value;
console.log(info);


};

所以现在当我单击按钮并使输入字段内部有 5 * 5 时 - var 信息将等于字符串“5 * 5”。如何转换此字符串,以便字符串中的数字为整数,而 * 或 - 等运算符也为非字符串?

我需要在此处包含一些正则表达式代码吗?

最佳答案

这个问题的答案确实很难。最明显且最不受欢迎的答案是评估,但很可能您不会想要这样。

基本上,您必须编写一个例程来提取您想要在表达式中使用的任何内容。

如果不使用 eval 或像“silentmatts”解决方案(如下)这样的第三方库,您可能必须开发自己的例程来解析数据。

第三方解决方案:

网站:http://silentmatt.com/javascript-expression-evaluator/

Git:https://github.com/silentmatt/js-expression-eval

综上所述,就将字符串转换为数学方程而言,我个人使用 eval。

希望这有帮助。

关于javascript - 想要转换字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21810146/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com