Reputation: 6085
I get 28.6813276578 when i multiply 2 numbers a and b, how can i make it whole number with less digits
and also, when i multiply again i get results after first reult like 28.681321405.4428.68 how to get only one result ?
<script>
$(document).ready(function(){
$("#total").hide();
$("#form1").submit(function(){
var a = parseFloat($("#user_price").val());
var b = parseFloat($("#selling").val());
var total = a*b;
$("#total").append(total)
.show('slow')
.css({"background":"yellow","font-size":50})
;
return false;
});
});
</script>
Upvotes: 9
Views: 35926
Reputation: 688
In addition to the other answers about rounding, you are appending the answer to "total" by using
$("#total").append(total)
You need to replace the previous text rather than appending by using
$("#total").html(total)
Upvotes: 2
Reputation: 52523
You can do several things:
total = total.toFixed([number of decimals]);
total = Math.round(total);
total = parseInt(total);
toFixed()
will round your number to the number of decimals indicated.
Math.round()
will round numbers to the nearest integer.
parseInt()
will take a string and attempt to parse an integer from it without rounding. parseInt()
is a little trickier though, in that it will parse the first characters in a string that are numbers until they are not, meaning parseInt('123g32ksj')
will return 123
, whereas parseInt('sdjgg123')
will return NaN
.
parseInt()
accepts a second parameter which can be used to express the base you're trying to extract with, meaning that, for instance,parseInt('A', 16) === 10
if you were trying to parse a hexidecimal.Upvotes: 30
Reputation: 15885
See Math.round(...)
.
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Math/round
Upvotes: 2