JQuery Bugs?

2 Cevap php

Hi all I am working on a shopping site and I am trying to calculate the subtotal of products.

Ben getJSON tepki diziden bir dizi ve miktar benim fiyat var. Bunlardan iki çarpma

Benim subtotal geliyor. Ben miktarını değiştirebilir ve farklı alt toplamını çıkıyor olacaktır.

Ben belli sayıda miktarını değiştirmek Ancak, son subtotal gibi

259,99999999994 veya bazı uzun ondalık sayı. Ben $ fiyat ve $ Adet Adet kontrol etmek console.log kullanın. Her ikisi de doğru biçim eski vardır .. 299.99 ve 6 quantity.I ne hiçbir fikrim yok. Birisi bu konuda bana yardımcı olabilir eğer bunu takdir ediyorum.

İşte benim jQuery kodudur.

    $(".price").each(function(index, price){

     $price=$(this);

    //get the product id and the price shown on the page
    var id=$price.closest('tr').attr('id');
var indiPrice=$($price).html();

    //take off $ 
indiPrice=indiPrice.substring(1)

    //make sure it is number format
    var aindiPrice=Number(indiPrice);

    //push into the array
productIdPrice[id]=(aindiPrice);

var url = update.php

 $.getJSON(
    url,
   {productId:tableId,   //tableId is from the other jquery code which refers to           
   qty:qty},               productId

 function(responseProduct){

$.each(responseProduct, function(productIndex, Qty){
//loop the return data 
if(productIdPrice[productIndex]){
//get the price from the previous array we create X Qty
    newSub=productIdPrice[productIndex]*Number(Qty);
      //productIdPrice[productIndex] are the price like 199.99 or 99.99
      // Qty are Quantity like 9 or 10 or 3
sum+=newSub;
newSub.toFixed(2);  //try to solve the problem with toFixed but  
                         didn't work                
console.log("id: "+productIdPrice[productIndex])
console.log("Qty: "+Qty);
console.log(newSub); **//newSub sometime become XXXX.96999999994**  

};

Tekrar teşekkürler!

2 Cevap

Neredeyse o var, ama .toFixed() returns değeri, bu etmez set değeri, sizin örneğin bunlardan birinin doğru görünür saptanmamıştır:

newSub = newSub.toFixed(2);
//or...
console.log(newSub.toFixed(2));

.toFixed(2) değerine değişkeni ayarlamak, ya da (yuvarlama hatası önceki hesaplamada tanıtılan bu yana değil, bu genellikle en doğru) görüntülenirken işlevini çağırması.

Ben Java script hakkında bir google teknoloji video (iyi parçalar) gördüm. Ve orada adam Javascript sayı uygulama iyi parçalarından biri olmadığını, söylüyordu. Bu gerçekten berbat.

Bildiğim kadarıyla ben hatırlıyorum, Java script bir dizi için tek türü vardır. Integer veya Float arasında hiçbir fark yoktur. Bu yardımcı olacağını umuyoruz.