Javascript 获取输入并将其用于计算
我想从用户处以xxxx.xx或xx%的形式输入折扣,并更改金额的计算方法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
//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 ;
}