سؤال

I have defined the following variable:

var TuesdaysRatio = myTuesdaysNewLikesTotal / myTuesdaysImpressionsOrganicTotal;

The console.log(TuesdaysRatio); is has the output in Chrome: 0.032636762568610575 . The next line in my script is the following:

$('div.ratio-div').html('<p>Tuesdays Likes per Organic Impressions Ratio ' + TuesdaysRatio + '</p>');

I am using JQuery to display the variable in a paragraph into an empty div (with the class ratio-div) created above the script tag. On my page instead of Tuesdays Likes per Organic Impressions Ratio 0.032636762568610575 I have Tuesdays Likes per Organic Impressions Ratio NaN and I can't figure it out where is the issue...

هل كانت مفيدة؟

المحلول

Number it.. Use Number() .. parseInt and parseFloat may change your result so go for Number() function which converts the object argument to a number that represents the object's value.

var TuesdaysRatio = Number(myTuesdaysNewLikesTotal / myTuesdaysImpressionsOrganicTotal);

نصائح أخرى

Try this

$(document).ready(function(){
     var TuesdaysRatio = parseFloat(parseInt(myTuesdaysNewLikesTotal) / parseInt(myTuesdaysImpressionsOrganicTotal));
     $('div.ratio-div').html('<p>Tuesdays Likes per Organic Impressions Ratio ' + TuesdaysRatio + '</p>');
});

Try to parse your value first:

var TuesdaysRatio = parseInt((myTuesdaysNewLikesTotal / myTuesdaysImpressionsOrganicTotal), 10);
$('document').ready(function(){
    var TuesdaysRatio = Number(0.032636762568610575);
    $('div.ratio-div').html('<p>Tuesdays Likes per Organic Impressions Ratio ' + TuesdaysRatio + '</p>');
});

Try this

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top