Need help with rounding on a calculation

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Verizon News Server

    Need help with rounding on a calculation

    Hi, I am a newbie with Javascript. I am trying to build a simple form that
    calculates the cost of gasoline for a trip.

    It simply divides the trip distance by the mpg and multiplies that by the
    current per gallon price.

    It works, fine except I want to round the number to two decimals ( 64.16,
    not 64.166666666)

    Any help is greatly appreciated. Here is what I have so far. I tried to
    use the toFixed(2), but couldn't figure out where to put it.

    <head>
    <title></title>
    <script type="text/javascript">
    function calcTripCost(){
    var a = document.getEle mentById('perGa llon');
    var b = document.getEle mentById('tripD istance');
    var c = document.getEle mentById('mpg') ;
    var d = document.getEle mentById('tripC ost');
    var perGallon = parseFloat (a.value);
    var tripDistance = parseFloat (b.value);
    var mpg = parseFloat (c.value);
    var tripCost = parseFloat (d.value);
    d.value = tripDistance/mpg*perGallon;

    }
    </script>
    </head>
    <body>
    Price per gallon of gas: <input type="text" id="perGallon"
    name="perGallon "
    value="3.85" />&nbsp;&nbsp;
    <br />
    Trip distance in Miles: <input type="text" id="tripDistanc e"
    name="tripDista nce"
    value="300" /><br />
    MPG for your vehicle: <input type="text" id="mpg" name="mpg" value="18"
    /><br/><br/>
    <input type="button" value="Calculat e" onclick="calcTr ipCost();" /<br
    />
    Gas cost for your trip:&nbsp; $ <input type="text" id="tripCost" />

    </body>

    Thank You, Larry



  • Doug Gunnoe

    #2
    Re: Need help with rounding on a calculation

    On Apr 22, 8:06 pm, "Verizon News Server" <anonymous@no_s pam.info>
    wrote:
    Hi, I am a newbie with Javascript. I am trying to build a simple form that
    calculates the cost of gasoline for a trip.
    >
    It simply divides the trip distance by the mpg and multiplies that by the
    current per gallon price.
    >
    It works, fine except I want to round the number to two decimals ( 64.16,
    not 64.166666666)
    >
    Any help is greatly appreciated. Here is what I have so far. I tried to
    use the toFixed(2), but couldn't figure out where to put it.
    >
    <head>
    <title></title>
    <script type="text/javascript">
    function calcTripCost(){
    var a = document.getEle mentById('perGa llon');
    var b = document.getEle mentById('tripD istance');
    var c = document.getEle mentById('mpg') ;
    var d = document.getEle mentById('tripC ost');
    var perGallon = parseFloat (a.value);
    var tripDistance = parseFloat (b.value);
    var mpg = parseFloat (c.value);
    var tripCost = parseFloat (d.value);
    d.value = tripDistance/mpg*perGallon;
    >
    }
    </script>
    </head>
    <body>
    Price per gallon of gas: <input type="text" id="perGallon"
    name="perGallon "
    value="3.85" />&nbsp;&nbsp;
    <br />
    Trip distance in Miles: <input type="text" id="tripDistanc e"
    name="tripDista nce"
    value="300" /><br />
    MPG for your vehicle: <input type="text" id="mpg" name="mpg" value="18"
    /><br/><br/>
    <input type="button" value="Calculat e" onclick="calcTr ipCost();" /<br
    />
    Gas cost for your trip:&nbsp; $ <input type="text" id="tripCost" />
    >
    </body>
    >
    Thank You, Larry
    Math.round(x * 100)/100

    the following alerts 64.17
    alert(Math.roun d(64.166666666 * 100)/100);


    Comment

    • RobG

      #3
      Re: Need help with rounding on a calculation

      On Apr 23, 11:06 am, "Verizon News Server" <anonymous@no_s pam.info>
      wrote:
      Hi, I am a newbie with Javascript. I am trying to build a simple form that
      calculates the cost of gasoline for a trip.
      >
      It simply divides the trip distance by the mpg and multiplies that by the
      current per gallon price.
      >
      It works, fine except I want to round the number to two decimals ( 64.16,
      not 64.166666666)
      >
      Any help is greatly appreciated.
      The FAQ is good for that:

      4.6 How do I convert a Number into a String with exactly 2 decimal
      places?
      <URL: http://www.jibbering.com/faq/#FAQ4_6 >

      Here is what I have so far. I tried to
      use the toFixed(2), but couldn't figure out where to put it.
      Don't, it's broken in some implementations (see link above).
      >
      <head>
      <title></title>
      <script type="text/javascript">
      function calcTripCost(){
      var a = document.getEle mentById('perGa llon');
      var b = document.getEle mentById('tripD istance');
      var c = document.getEle mentById('mpg') ;
      var d = document.getEle mentById('tripC ost');
      var perGallon = parseFloat (a.value);
      var tripDistance = parseFloat (b.value);
      var mpg = parseFloat (c.value);
      var tripCost = parseFloat (d.value);
      d.value = tripDistance/mpg*perGallon;
      You should test values before using them for arithmetic operations to
      make sure they are numbers within a suitable range. At the very
      least, check that mpg is not zero.


      --
      Rob

      Comment

      • Larrythedesigner

        #4
        Re: Need help with rounding on a calculation

        Thanks, Doug.

        Admittedly, I am inept with javascript and in over my head on this simple
        little project. I don't know how to integrate the math.round into my
        script. Could you or someone help me place it where it needs to be?

        Any helps is very appreciated. Thanks in advance.

        Larry


        "Doug Gunnoe" <douggunnoe@gma il.comwrote in message
        news:898cd037-3c3d-4346-9d66-5725a1f22a31@i7 6g2000hsf.googl egroups.com...
        On Apr 22, 8:06 pm, "Verizon News Server" <anonymous@no_s pam.info>
        wrote:
        >Hi, I am a newbie with Javascript. I am trying to build a simple form
        >that
        >calculates the cost of gasoline for a trip.
        >>
        >It simply divides the trip distance by the mpg and multiplies that by the
        >current per gallon price.
        >>
        >It works, fine except I want to round the number to two decimals ( 64.16,
        >not 64.166666666)
        >>
        >Any help is greatly appreciated. Here is what I have so far. I tried to
        >use the toFixed(2), but couldn't figure out where to put it.
        >>
        ><head>
        > <title></title>
        > <script type="text/javascript">
        > function calcTripCost(){
        > var a = document.getEle mentById('perGa llon');
        > var b = document.getEle mentById('tripD istance');
        > var c = document.getEle mentById('mpg') ;
        > var d = document.getEle mentById('tripC ost');
        > var perGallon = parseFloat (a.value);
        > var tripDistance = parseFloat (b.value);
        > var mpg = parseFloat (c.value);
        > var tripCost = parseFloat (d.value);
        > d.value = tripDistance/mpg*perGallon;
        >>
        > }
        > </script>
        ></head>
        ><body>
        > Price per gallon of gas: <input type="text" id="perGallon"
        >name="perGallo n"
        > value="3.85" />&nbsp;&nbsp;
        > <br />
        > Trip distance in Miles: <input type="text" id="tripDistanc e"
        >name="tripDist ance"
        > value="300" /><br />
        > MPG for your vehicle: <input type="text" id="mpg" name="mpg"
        >value="18"
        >/><br/><br/>
        > <input type="button" value="Calculat e" onclick="calcTr ipCost();" />
        ><br
        >/>
        > Gas cost for your trip:&nbsp; $ <input type="text" id="tripCost" />
        >>
        ></body>
        >>
        >Thank You, Larry
        >
        Math.round(x * 100)/100
        >
        the following alerts 64.17
        alert(Math.roun d(64.166666666 * 100)/100);
        >
        >

        Comment

        • Doug Gunnoe

          #5
          Re: Need help with rounding on a calculation

          On Apr 23, 9:33 am, "Larrythedesign er" <anonymous@no_s pam.infowrote:
          Thanks, Doug.
          >
          Admittedly, I am inept with javascript and in over my head on this simple
          little project. I don't know how to integrate the math.round into my
          script. Could you or someone help me place it where it needs to be?
          >
          Any helps is very appreciated. Thanks in advance.
          >
          Larry
          Sure. And you might want to check out what Rob was saying about
          checking the values, etc. Like he says, you don't want to divide by
          zero. Also, JavaScript can be tricky when doing stuff like this
          because of converting values between strings and numbers. But I see
          you were using the parseFloat function so you seem to be headed in the
          right direction in that regard.

          Anyway, to your question, you would use it something like this

          var tripcost = tripDistance/mpg*perGallon;
          d.value = Math.round(trip cost * 100)/100;







          Comment

          • Larrythedesigner

            #6
            Re: Need help with rounding on a calculation

            Thank You Doug!

            I appreciate your help. That did the trick. I am still learning and this
            helped me understand some of what I learned.

            Thanks, Larry


            "Doug Gunnoe" <douggunnoe@gma il.comwrote in message
            news:8d195c89-548d-4486-8ef5-c04992bb57c4@34 g2000hsh.google groups.com...
            On Apr 23, 9:33 am, "Larrythedesign er" <anonymous@no_s pam.infowrote:
            >Thanks, Doug.
            >>
            >Admittedly, I am inept with javascript and in over my head on this simple
            >little project. I don't know how to integrate the math.round into my
            >script. Could you or someone help me place it where it needs to be?
            >>
            >Any helps is very appreciated. Thanks in advance.
            >>
            >Larry
            >
            Sure. And you might want to check out what Rob was saying about
            checking the values, etc. Like he says, you don't want to divide by
            zero. Also, JavaScript can be tricky when doing stuff like this
            because of converting values between strings and numbers. But I see
            you were using the parseFloat function so you seem to be headed in the
            right direction in that regard.
            >
            Anyway, to your question, you would use it something like this
            >
            var tripcost = tripDistance/mpg*perGallon;
            d.value = Math.round(trip cost * 100)/100;
            >
            >
            >
            >
            >
            >
            >

            Comment

            • Dr J R Stockton

              #7
              Re: Need help with rounding on a calculation

              In comp.lang.javas cript message <898cd037-3c3d-4346-9d66-5725a1f22a31@i7
              6g2000hsf.googl egroups.com>, Tue, 22 Apr 2008 20:18:20, Doug Gunnoe
              <douggunnoe@gma il.composted:
              >
              >Math.round(x * 100)/100
              >
              >the following alerts 64.17
              >alert(Math.rou nd(64.166666666 * 100)/100);
              Those who fail to read the FAQ before posting commonly demonstrate
              ineptness.

              Evidently you have not considered the difference between rounding to a
              multiple 0f 0.01 and rounding to two decimals. Currency outputs should
              be rounded to the nearest penny or pound (or foreign equivalents), not
              to the nearest florin (unless large, of course).

              --
              (c) John Stockton, nr London, UK. ?@merlyn.demon. co.uk Turnpike v6.05 MIME.
              Web <URL:http://www.merlyn.demo n.co.uk/- FAQish topics, acronyms, & links.
              Proper <= 4-line sig. separator as above, a line exactly "-- " (SonOfRFC1036)
              Do not Mail News to me. Before a reply, quote with ">" or "" (SonOfRFC1036)

              Comment

              • Dr J R Stockton

                #8
                Re: Need help with rounding on a calculation

                In comp.lang.javas cript message <8d195c89-548d-4486-8ef5-c04992bb57c4@34
                g2000hsh.google groups.com>, Wed, 23 Apr 2008 12:30:31, Doug Gunnoe
                <douggunnoe@gma il.composted:
                But I see
                >you were using the parseFloat function so you seem to be headed in the
                >right direction in that regard.
                Function parseFloat is not needed in that code. FAQ 4.21.

                --
                (c) John Stockton, nr London, UK. ?@merlyn.demon. co.uk Turnpike v6.05 MIME.
                Web <URL:http://www.merlyn.demo n.co.uk/- FAQish topics, acronyms, & links.
                Proper <= 4-line sig. separator as above, a line exactly "-- " (SonOfRFC1036)
                Do not Mail News to me. Before a reply, quote with ">" or "" (SonOfRFC1036)

                Comment

                • Dr J R Stockton

                  #9
                  Re: Need help with rounding on a calculation

                  In comp.lang.javas cript message <653f34c9-01a2-4535-b296-7e41d21d52d1@e3
                  9g2000hsf.googl egroups.com>, Wed, 23 Apr 2008 19:11:02, Doug Gunnoe
                  <douggunnoe@gma il.composted:
                  >By the way, I will never, ever, ever, ever, never read the shitty FAQ.
                  >Never. Never, ever, never.
                  Then, if you continue to post here what you naively think are answers,
                  you will continue to demonstrate your childish obstinacy, and it will
                  continue to be remarked upon.

                  Your mere ignorance and lack of understanding are not necessarily to be
                  ashamed of, provided that obvious steps to remedy them are promptly
                  taken.

                  --
                  (c) John Stockton, nr London UK. ???@merlyn.demo n.co.uk Turnpike v6.05 MIME.
                  Web <URL:http://www.merlyn.demo n.co.uk/- FAQish topics, acronyms, & links.
                  Check boilerplate spelling -- error is a public sign of incompetence.
                  Never fully trust an article from a poster who gives no full real name.

                  Comment

                  • Doug Gunnoe

                    #10
                    Re: Need help with rounding on a calculation

                    On Apr 27, 7:52 am, Dr J R Stockton <j...@merlyn.de mon.co.ukwrote:
                    Agreed. But you gave an answer inadequate for the application.
                    It was perfectly 'adequate' for the application, considering the
                    application.
                    You are either one of the subtler trolls,
                    I've been called worse
                    or too inexperienced to be of any real use.
                    Use for whom? For someone as smart as yourself, with such deep, low
                    level technical knowledge of JavaScript, I doubt that I would be of
                    any benefit. That being the case, please feel free to ignore all my
                    future posts.
                    A pointless remark. Those who, in that case, use parseFloat have only
                    made the obvious first step in their understanding.
                    Which was the only point I was making. If you ever get around to
                    reading the OP, he states several times that he is a n00b to
                    JavaScript.
                    You, it seems, choose to go no further.
                    I had no need to go any further. Like me, you didn't notice it the
                    first time you browsed through it either. It was only after I
                    challenged your asshatery that you went back and looked for additional
                    ways to criticize my answer. (Oh, and you know it's true lol.)
                    Giving unsatisfactory answers when you could have left the matter to
                    those more capable is not nice; you get here what you therefore deserve.
                    If you will notice, Mr. Stockton, those more capable have still not
                    answered the OP's question.

                    Evertjan wrote:
                    Don't take it hard, Doug, we are here to enjoy,
                    and Javascript, like chess, gives intellectual enjoyment.
                    It's cool, Evertjan. I don't mind being wrong. If I did my life would
                    be total misery.

                    Comment

                    Working...