Как преобразовать строковое уравнение в число в JavaScript?

Как преобразовать строковое уравнение в число в JavaScript?

Скажи, что у меня есть "100 * 100" или "100х100"; Как я могу оценить это и преобразовать в число?

 Event_Horizon23 апр. 2012 г., 20:49
Это не домашнее задание, я пытаюсь преобразовать размеры лотов в длинную форму из сокращений непосредственно при вводе пользователем. Я пробовал eval () и parseInt и parseFloat.
 JohnFx23 апр. 2012 г., 20:48
Это домашнее задание? что ты уже испробовал?

Ответы на вопрос(3)

Решение Вопроса

* или жеx:

var str = "100x100";

var tmp_arr = str.split(/[*x]/);
var product = tmp_arr[0]*tmp_arr[1];   // 10000
 Event_Horizon23 апр. 2012 г., 21:03
Это как раз то, что я искал, спасибо.
 23 апр. 2012 г., 21:12
jsfiddle.net/jlaceda/hcDra Пример в функции с тестами.
 23 апр. 2012 г., 22:01
@Event_Horizon Добро пожаловать :)

что строка всегда будет выглядеть как «100 * 100» вы могли быeval() хотя большинство людей скажет вам, что это не очень хорошая идея из-за того факта, что люди могут передать вредоносный код для оценки. d.

eval("100*100");
>> 10000

В противном случае вам придется найти или написать собственный анализатор уравнений. В этом случае вы можете взглянуть наАлгоритм маневрового двораи читать дальшеразбор.

С помощьюsplit():

var myEquation = "100*100";
var num = myEquation.split("*")[0] * myEquation.split("*")[1];
>> 10000
 23 апр. 2012 г., 20:53
Да, я обновлю.
 Event_Horizon23 апр. 2012 г., 20:52
Есть ли способ разделить его на x и числа и умножить только числа? Будет ли разделить работу для этого?

функция parseInt () анализирует строку и возвращает целое число.

        parseInt("100")*parseInt("100") //10000

Ваш ответ на вопрос