1
下面是一個簡單的JS代碼片段,JavaScript的算術返回意外值
$("#product_code").live('change',function(){
$.ajax({
type:'POST',
url:baseurl+'ajax/getproduct/'+$(this).val(),
success:function(productdetails){
var bill_type = $("#bill_type").val();
var mrp_value = productdetails['mrp_value'];
var quantity = productdetails['quantity'];
$("#product_name").val(productdetails['product_name']);
$("#packing").val(productdetails['packing']);
$("#mrp_value").val(productdetails['mrp_value']);
$("#batch_number").val(productdetails['batch_number']);
$("#manufacturing_date").val(productdetails['manufacturing_date']);
$("#expiry_date").val(productdetails['expiry_date']);
$("#quantity").val(productdetails['quantity']);
switch(bill_type)
{
case 'stockies':
var pts_value = 5; //In percent
var vat = 5; //In percent
var total_value = (mrp_value+(mrp_value*vat/100)-(mrp_value*pts_value/100))*quantity;
break;
case 'pharmacy':
var pts_value = 3; //In percent
var vat = 5; //In percent
var total_value = (mrp_value+(mrp_value*vat/100)-(mrp_value*pts_value/100))*quantity;
break;
case 'replacement':
var pts_value = 0; //In percent
var vat = 0; //In percent
var total_value = 0;
break;
}
$("#pts_value").val(pts_value);
$("#vat").val(vat);
$("#total_value").val(total_value);
}
});
});
而且我通過JSON AJAX請求獲得我的價值,
{"stock_id":"1","product_code":"AG123456","product_name":"Test Product","packing_area":"10x10","bottle_size":"170ml","product_type":"bottle","chemical_contents":"HCL","batch_number":"12","manufacturing_date":"2012-03-12","expiry_date":"2014-03-12","quantity":"4","packing":"Hard","purchase_value":"34","sales_value":"36","mrp_value":"35","status":"0","created_date":"2014-04-27 14:05:17","modified_date":null,"deleted_date":null}
如果我單獨打印的值,它被示出,
var mrp_value = 35;
var quantity = 4;
和所分配的值是, VAR pts_value = 5; var vat = 5;
var total_value = (mrp_value+(mrp_value*vat/100)-(mrp_value*pts_value/100))*quantity;
所以,我期望這將執行如下,
- (35 +(35×5/100) - (35 * 5/100))* 4
- ( 35 +(1.75) - (1.75))* 4
- (35 +(0))* 4
但它返回1400作爲值。爲什麼和我在哪裏做錯了?
我沒經過你的代碼,但我的錢是在一個或多個值被視爲字符串,而不是作爲一個數字。 – j08691
JSON中的所有數字都是字符串。你可以嘗試修復服務器腳本來返回數字。 – Barmar