Use JavaScript to take float type two digits after the decimal point, example 22.127456 to 22.13, how to do?
1. Discard the fractional part and keep the whole number of parts
parseint (5/2)
2. Take up the whole, there are decimal numbers on the whole part plus 1
Math.ceil (5/2)
3, rounded.
Math.Round (5/2)
4, take the whole down.
Math.floor (5/2)
Alternative ways to
1. The Dumbest Way
The code is as follows |
Copy Code |
function Get () { var s = 22.127456 + ""; var str = s.substring (0,s.indexof (".") + 3); alert (str); } |
2. Regular expression works well
The code is as follows |
Copy Code |
<script type= "Text/javascript" > onload = function () { var a = "23.456322"; var anew; var re =/([0-9]+.[ 0-9]{2}) [0-9]*/; anew = A.replace (Re, "$"); alert (anew); } </script> |
3. He is more intelligent ...
The code is as follows |
Copy Code |
<script> var num=22.127456; Alert (Math.Round (num*100)/100); </script> |
4. Friends who will use new things ... But it takes ie5.5+ to support it.
5.js Keep 2 decimal places (mandatory)
For decimal digits greater than 2 digits, use the above function is OK, but if less than 2 bits, such as: Changetwodecimal (3.1), will return 3.1, if you must need a format such as 3.10, then you need the following function:
The code is as follows |
Copy Code |
function Changetwodecimal_f (x) { var f_x = parsefloat (x); if (isNaN (f_x)) { &nbs p; alert (' Function:changetwodecimal->parameter error '); return false; } var f_x = math.round (x * 100)/100; var s_x = f_x.tostring (); var pos_decimal = S_x.indexof ('. '); if (Pos_decimal < 0) { pos_decimal = S_ X.length; s_x + = '. '; } while (s_x.length <= Pos_decimal + 2) { s_x = ' 0 '; } return s_x; } |
Feature: Round floating-point numbers, 2 digits after the decimal point, or 0 if less than 2 digits,
This function returns the format usage of the string: Changetwodecimal (3.1415926) returns 3.14 Changetwodecimal (3.1) Returns 3.10