Solved

function to format a fixed digit number

Posted on 2008-06-13
3
239 Views
Last Modified: 2010-04-21
Hello Folks,
I am using attached function to format some fixed digit number but it is giving me an error.
Please can you see if this is not correct?
thanks
s
<script>
function twoDecimal(num,round) {
  if (round) return num.toFixed(2);
  var stringNum = String(num);
  if (stringNum.indexOf('.')==-1) return stringNum+'.00';
  var newNum = stringNum.split('.');
  if (newNum.len==2) {
    newNum[1]=(newNum[1].length>2)?newNum[1].subString(0,2):newNum[1];
  }
  if (newNum[1].length==1) newnum[1]+="0"
  return newNum[0]+'.'+newNum[1]
}
alert(twoDecimal(133.5999,1));
alert(twoDecimal(133.5999));
alert(twoDecimal(133));
alert(twoDecimal(133.5));
 
</script>

Open in new window

0
Comment
Question by:newbie27
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
3 Comments
 
LVL 2

Accepted Solution

by:
Airyck666 earned 500 total points
ID: 21780787
Since the only time you can't use the .toFixed to solve this is if !round and there's more than 2 decimal places.  So try somethig this code.
<script>
function twoDecimal(num,round) {
    
    var stringNum = String(num);
    var newNum = stringNum.split('.');
    if  (newNum.length > 1  && newNum[1].length > 1 && !round) {
        newNum[1]=(newNum[1].length > 2) ? newNum[1].substring(0,2) : newNum[1];
        return newNum[0]+'.'+newNum[1];
    } else {
        return String(num.toFixed(2));
    }
}
alert(twoDecimal(133.5999,1));
alert(twoDecimal(133.5999));
alert(twoDecimal(133));
alert(twoDecimal(133.5));
 
</script>

Open in new window

0
 
LVL 2

Assisted Solution

by:Airyck666
Airyck666 earned 500 total points
ID: 21780800
oops... you don't need the String object creation at line 10.
return num.toFixed(2);

Open in new window

0
 
LVL 8

Author Closing Comment

by:newbie27
ID: 31466970
thanks
0

Featured Post

PeopleSoft Has Never Been Easier

PeopleSoft Adoption Made Smooth & Simple!

On-The-Job Training Is made Intuitive & Easy With WalkMe's On-Screen Guidance Tool.  Claim Your Free WalkMe Account Now

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
arrays and buttons with user input 2 41
Put POST values into cookies. 14 52
Horizontal Full Calendar using php 5 42
Pass a js value to an html form 5 42
In this article, we'll look how to sort an Array in JavaScript, including the more advanced techniques of sorting a collection of records either ascending or descending on two or more fields. Basic Sorting of Arrays First, let's look at the …
This article discusses how to create an extensible mechanism for linked drop downs.
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…
Suggested Courses

737 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question