js加減乗除混合演算
1326 ワード
function getResult(str){
// var _str=str.repalce('*','×');
// var __str=_str.replace('/','÷');
var str1=str.split('');
var str2=[];
for(var i=0;i2)
{
t.push(x);
}
else
{
result.push(t.pop());
return cmp(x,t);
}
}
}
else
{
result.push(ele);
}
})
while(temp.length>0)
{
if(temp[temp.length-1]!='('){
result.push(temp.pop());
}
else
{
temp.pop();
}
}
// alert(result);
var res=result;
result=[];
res.forEach(function(ele,ind){
if(ele!='')
result.push(ele);
})
// alert(result);
var s=[];
// alert(s);
result.forEach(function(ele,ind){
var reg=/^\d+(\.\d+)?$/;
if(reg.test(ele))
{
s.push(ele);
}
else
{
var ans;
var a=parseFloat(s.pop());
var b=parseFloat(s.pop());
if(ele=='+')
ans=a+b;
if(ele=='-')
ans=b-a;
if(ele=='×')
ans=a*b;
if(ele=='÷')
ans=b/a;
s.push(ans);
}
})
// alert(s);
return s[0];
}