В этом небольшом материале мы расскажем как из комплексного числа вида выделит вещественную и мнимую часть, на языке javascript.
Да, такого материала достаточно много и на рускоязычных сайтах, но к сожалению, у них у всех, по крайней мере что мне попадались на начало 2017 года, существует недостаток.
Они все изначально подразумевают, что в исходном формате сначала идет вещественная часть а потом мнимая.
Как только мы пытаемся написать или , скрипты как один начинают ошибаться.
Хотелось бы представить функцию, которая избавлена от этого недостатка.
function fromi(string) {
regex = /[-+]?i?\d*\.?\d*i?/ig;
string = String(string).replace (/\s+/g, '');
match = string.match (regex);
regex1=/\i/ig;
if(match[0]=="+i"|match[0]=="-i"|match[0]=="i")
{match[0]+="1"}
if(match[1]=="+i"|match[1]=="-i"|match[1]=="i")
{match[1]+="1"}
if (match[0].match(regex1))
{im=match[0].replace(/i/ig,'');
re=match[1];}
else {im=match[1].replace(/i/ig,'');
re=match[0];}
if(re==undefined){re=0;}
if(im==undefined){im=0;}
return re+" "+im;
};
Входная форма комплексного числа может быть любой. Выходная дает нам отдельно вещественную часть ( в переменной re) и мнимую (в переменной im).
Несомненно, умные люди смогут усовершествовать эту функцию, что бы она была компактнее, красивее и быстрее. И я был бы этому только рад.