whole number in javascript?
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>
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, meaningparseInt('123g32ksj')
will return123
, whereasparseInt('sdjgg123')
will returnNaN
.- For the sake of completeness,
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.
- For the sake of completeness,
See Math.round(...)
.
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Math/round
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)
精彩评论