Wednesday, June 5, 2024
 Popular · Latest · Hot · Upcoming
78
rated 0 times [  84] [ 6]  / answers: 1 / hits: 170045  / 12 Years ago, tue, january 22, 2013, 12:00:00

Possible Duplicate:

How can I format numbers as money in JavaScript?






I have a form with some simple JavaScript to perform an instant calculation. My problem is that I'm struggling to format it to display correctly with commas and 2 decimal places.



Any help would be very much appreciated. Thank you.



    <p>
<label>My Daily Rate is:</label><br />
<input class=poundsBox name=shares id=shares type=text /><br />
<br />
<strong>Your Gross Contract Take Home:</strong></p>
<p><span class=result>&pound; <span id=result></span></span></p>
The above illustration is provided for guidance only. Please complete the request form below for a detailed personal illustration.

<script type=text/javascript>
$(#shares).keyup(function() {
var val = parseFloat($(this).val());
// If val is a good float, multiply by 260, else show an error
val = (val ? val * 260 * 0.88 : Invalid number);
$(#result).text(val);
})
</script>

More From » jquery

 Answers
58

You can use standard JS toFixed method



var num = 5.56789;
var n=num.toFixed(2);

//5.57


In order to add commas (to separate 1000's) you can add regexp as follows (where num is a number):



num.toString().replace(/(d)(?=(ddd)+(?!d))/g, $1,)

//100000 => 100,000
//8000 => 8,000
//1000000 => 1,000,000


Complete example:



var value = 1250.223;
var num = '$' + value.toFixed(2).replace(/(d)(?=(ddd)+(?!d))/g, $1,);

//document.write(num) would write value as follows: $1,250.22


Separation character depends on country and locale. For some countries it may need to be .


[#80699] Monday, January 21, 2013, 12 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
marques

Total Points: 366
Total Questions: 108
Total Answers: 111

Location: Burundi
Member since Wed, Nov 25, 2020
4 Years ago
marques questions
;