Wrox Programmer Forums

Need to download code?

View our list of code downloads.

Go Back   Wrox Programmer Forums > Web Programming > JavaScript > BOOK: Beginning JavaScript 4th Edition
Password Reminder
Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read
BOOK: Beginning JavaScript 4th Edition
This is the forum to discuss the Wrox book Beginning JavaScript, 4th Edition by Paul Wilton, Jeremy McPeak; ISBN: 978-0-470-52593-7
Welcome to the p2p.wrox.com Forums.

You are currently viewing the BOOK: Beginning JavaScript 4th Edition section of the Wrox Programmer to Programmer discussions. This is a community of tens of thousands of software programmers and website developers including Wrox book authors and readers. As a guest, you can read any forum posting. By joining today you can post your own programming questions, respond to other developersí questions, and eliminate the ads that are displayed to guests. Registration is fast, simple and absolutely free .
DRM-free e-books 300x50
Thread Tools Display Modes
  #1 (permalink)   Spam!  
Old December 19th, 2012, 05:13 PM
Authorized User
Points: 132, Level: 2
Points: 132, Level: 2 Points: 132, Level: 2 Points: 132, Level: 2
Activity: 0%
Activity: 0% Activity: 0% Activity: 0%
Join Date: Nov 2012
Posts: 25
Thanks: 3
Thanked 0 Times in 0 Posts
Question Chapter5_Exercises_Question#3

I am doing exercise question 3 chapter 5 and I am having problems. We are supposed to modify a function so that it can be displayed with a certain amount of decimal places which are determined by the user. The algorithm that is used in the function that is given as the answer makes no sense to me. Could someone explain to me what is going on in the function below? The program works, I just donít understand how. I will try to use comments so the person answering my question could better help me.


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 

<html xmlns="http://www.w3.org/1999/xhtml">
    <title>Chapter 5: Question 3</title>
    <script type="text/javascript">
//function called fix is created to take two parameters

    function fix(fixNumber, decimalPlaces)
/* pow method is used to take 10 and raise it to the power that is given by user (decimalPlaces)*/

        var div = Math.pow(10,decimalPlaces);
/*fixNumber passed by fix function is multiplied by value assigned to div variable.  It is then passed to the round method and then divided by the number  assigned to the div variable.*/
        fixNumber = new String(Math.round(fixNumber * div) / div);

/*I don't understand fully understand what's going on here.  I need someone to explain*/     
  if (fixNumber.lastIndexOf(".")==-1)
//I don't understand fully what's going on here.
            fixNumber = fixNumber + ".";

//I don't understand fully what's going on here.
        var zerosRequired = decimalPlaces - 
            (fixNumber.length - fixNumber.lastIndexOf(".") - 1);

/*I know this is a for loop and that zerosRequired was initialized in the pervious statement but, I don't fully understand what's going on here*/
        for (; zerosRequired > 0; zerosRequired--)
//I don't fully understand what's going on here either.
            fixNumber = fixNumber + "0";
//This is the value that is returned when the method is called
        return fixNumber;
<script type="text/javascript">
//I understand this code below

var number1 = prompt("Enter the number with decimal places you want to fix","");
var number2 = prompt("How many decimal places do you want?","");

document.write(number1 + " fixed to " + number2 + " decimal places is: ");
Reply With Quote

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are Off

All times are GMT -4. The time now is 11:39 PM.

Powered by vBulletin®
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
© 2013 John Wiley & Sons, Inc.