Javascript 获取输入并将其用于计算

Javascript 获取输入并将其用于计算,javascript,jquery,Javascript,Jquery,我想从用户处以xxxx.xx或xx%的形式输入折扣,并更改金额的计算方法 //amount = mrp - discount (if discount is xxxx.xx) //amount = mrp - discount * mrp (if discount is xx%) function doMath() { var mrp = parseInt(document.getElementById('inmrp').value); var discount = (docu

我想从用户处以xxxx.xx或xx%的形式输入折扣,并更改金额的计算方法

//amount = mrp - discount (if discount is xxxx.xx)
    //amount = mrp - discount * mrp (if discount is xx%)

function doMath() {
  var mrp = parseInt(document.getElementById('inmrp').value);
  var discount = (document.getElementById('indiscount').value).String();
  var dis = discount[2];
  var di = discount[1];
  if (dis = '%' || di = "%") {
    discount = (parseInt(discount))/100;
    amount = mrp - mrp * discount;  
  } else {
    discount = parseInt(discount);
    amount = mrp - discount;
  }
  document.getElementById('outamount').value= amount ;
}

对象没有
String
函数,但您可能正在查找
toString()
。但是,这是不必要的,因为text类型输入的
属性已经是字符串

此外,检查最后一个字符是否为
%
符号可能比始终检查第三个字符更安全

var isPercent = discount[discount.length - 1] === '%';
试一试


jsidle

我会使用函数indexOf来知道文本中是否有“%”。然后,如果它在那里,做一个子串来移除它

function doMath() {
  var mrp = parseInt(document.getElementById('inmrp').value);
  var discount = document.getElementById('indiscount').value;
  if (discount.indexOf('%') != -1) {
    discount = discount.substring(0,discount.length)
    discount = (parseInt(discount))/100;
    amount = mrp - mrp * discount;  
  } else {
    discount = parseInt(discount);
    amount = mrp - discount;
  }
  document.getElementById('outamount').value= amount ;
}

谢谢Nouphal.我不得不做一些改变,但谢谢你的提示,我终于成功了。
var di = discount.substr(discount.length - 1);  
  if (di == "%") {
   ..........
   .....
function doMath() {
  var mrp = parseInt(document.getElementById('inmrp').value);
  var discount = document.getElementById('indiscount').value;
  if (discount.indexOf('%') != -1) {
    discount = discount.substring(0,discount.length)
    discount = (parseInt(discount))/100;
    amount = mrp - mrp * discount;  
  } else {
    discount = parseInt(discount);
    amount = mrp - discount;
  }
  document.getElementById('outamount').value= amount ;
}