www.webdeveloper.com
Results 1 to 6 of 6

Thread: NaN error

  1. #1
    Join Date
    May 2010
    Posts
    5

    NaN error

    Hi Guys,

    I have a variable
    var tm_paid = parseFloat(AV.HTMLEncode(main_recordSet.tsField.TM _paid));

    Now,
    I am going through loop of recordsets, and printing this variable as below and IT WORKS FINE.

    <td class="inputtext" align="right">' + tm_paid + '</td>

    Now for the purpose calculating the total of tm_paid, inside that loop I am doing the following -

    var totaltmpaid;
    totaltmpaid = parseFloat(totaltmpaid) + parseFloat(tm_paid);

    and trying to print this as follows -

    <td class="instructiontext" align="right">' + totaltmpaid + '</td>

    and I am getting NaN instead of the total.

    I have tried following assignments -

    1. totaltmpaid = totaltmpaid + parseFloat(tm_paid);
    2. totaltmpaid = totaltmpaid +tm_paid;

    But still NaN is what I am getting.

    Can any one spot a fault?

    Thanks for your help.

    Regards,
    Shiyam

  2. #2
    Join Date
    Jun 2007
    Posts
    667
    Code:
    var totaltmpaid;
    totaltmpaid = parseFloat(totaltmpaid) + parseFloat(tm_paid);
    What is the value of totaltmpaid at the point you add tm_paid to it?
    Y_U U_G_A_E_U_ B_S_A_D_

  3. #3
    Join Date
    Jul 2007
    Posts
    386
    The other day I found a great article on some JavaScript operations I did not know about and work like a charm.

    Basically you can do this:
    Code:
    var = +"0.52"
    and the string "0.52" will be converted to a floating number 0.52.

    Here is the link to the article:
    http://mir.aculo.us/2010/05/12/adven...umber-parsing/

  4. #4
    Join Date
    Oct 2006
    Posts
    939
    Numbers have a way of being handled as strings

    You can always insert and an alert into any line of code save loops,
    to see where the number reverts to a string

    alert(isNaN(totaltmpaid))

    when you find it, get the number again by multiply by 1 or Number()

    myVar=myVar*1;

    sum=Number(a+b);
    sum=Number(Number(a)+Number(b)); //overkill to deal satisfaction to aggravation

  5. #5
    Join Date
    Jun 2007
    Posts
    667
    Quote Originally Posted by justinbarneskin View Post
    Numbers have a way of being handled as strings

    You can always insert and an alert into any line of code save loops,
    to see where the number reverts to a string

    alert(isNaN(totaltmpaid))
    A pure numeric string will not be NAN and isNaN will return false if passed it.
    when you find it, get the number again by multiply by 1 or Number()

    myVar=myVar*1;
    You can't do that if myVar has never been assigned a value, as is the case with the OP's code.
    Y_U U_G_A_E_U_ B_S_A_D_

  6. #6
    Join Date
    May 2010
    Posts
    5
    Thank you "Sterling Isfine".
    I just assigned a value 0.00 to the variables with the declaration and all is well.
    Sorry, i overlooked this.

    Thanks again for your switft reply.

    - Shiyam

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center



Recent Articles