2013-10-04 1 views
0

На моей странице я принимаю входные данные от пользователя. Я оцениваю это выражение и печатаю его вывод.проверить, является ли число сложным числом в javascript

например:

Входной: 3 + 5

Выход: 8

Эта работа, которую я делаю по JavaScript. Проблема, с которой я сталкиваюсь, связана со сложным числом/выражением.

Я могу выполнять математические операции над комплексными числами, но для этого мне нужен флаг, что данный вход является сложным числом.

Комплексное число может быть в любой форме.

например.

  1. Входной: (-4)^(1/2) + (-9)^(4/8)

    Выход: 5 i

    проблема здесь заключается в том, как интерпретировать входные данные как 2i + 3i. Я могу выполнить операции, если вход находится в форме 2+3i + 3+4i.

    Я передал эти ссылки:

    http://www.mathsisfun.com/numbers/complex-number-calculator.html

    https://www.inkling.com/read/javascript-definitive-guide-david-flanagan-6th/chapter-9/complex-js-a-complex-number

ответ

1

Что об использовании math.js библиотеки, чтобы оценить ваши выражения?

http://mathjs.org

Вы можете просто ввести такие выражения, как:

math.eval('3 + 5'); // Number 8 
math.eval('2i + 3i'); // Complex 5i 
math.eval('(-4)^(1/2) + (-9)^(4/8)'); // ~ Complex 5i 

Последнее выражение имеет немного ошибки округления из-за JavaScripts чисел с плавающей точкой.

+0

спасибо @Jos это прекрасно работает для меня. – poonamThaPar