tags:

views:

143

answers:

1

How do I limit the following jQuery return to 2 decimal places?

$("#diskamountUnit").val('$' + $("#disk").slider("value") * 1.60);

I figure I've got to throw toFixed(2) somewhere into there, but I can't seem to get the ordering right or something.

+2  A: 

You could use a variable to make the calculation and use toFixed when you set the #diskamountUnit element value:

var amount = $("#disk").slider("value") * 1.60;
$("#diskamountUnit").val('$' + amount.toFixed(2));

You can also do that in one step, in the val method call but IMO the first way is more readable:

$("#diskamountUnit").val('$' + ($("#disk").slider("value") * 1.60).toFixed(2));
CMS
Bingo! Thank you.
Michael Pasqualone
lol!... you both understood each other well... and here I am puzzled what's `toFixed()` was.... haha!
Reigel
@Reigel: lol, [`toFixed`](https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number/toFixed) is a method available for `Number` objects and values that returns a string containing the number represented in *fixed-point notation*, for example: `1.2345.toFixed(2); //--> "1.23"`, so the OP wants to display this formatted number to represent a currency amount `'$' + amount.toFixed(2)` --> `"$1.23"` ;)
CMS
cool!... I'm such a noob... my first real work in JS was with jQuery already... so there are more stuff I don't know about JS, that is not mostly use in jQuery... thanks!
Reigel