Below we will introduce how JavaScript preserves two decimal places:
Rounded
The following processing results are rounded:
var num =2.446242342// output result is 2.45
Not rounded
The following processing results are not rounded:
First, put the decimal-side integer First:
Math.floor (15.7784514000 *)/+/ / output is 15.77
The second, as a string, uses a regular match:
Number (15.7784514000.toString (). Match (/^\d+ (?: \. \d{0,2})) // output result is 15.77, cannot be used for integers such as 10 must be written as 10.0000
Note: If it is a negative number, convert it to a positive number and then the negative
JavaScript retains an instance of two decimal places:
<script type= "Text/javascript" >//keep two decimal places //function: Rounding the floating-point number, taking the 2 digits after the decimal point functionToDecimal (x) {varf =parsefloat (x); if(IsNaN (f)) {return; } f= Math.Round (x*100)/100;returnF; } //The system retains 2 decimal places, such as: 2, which will be 00 after 2. That is 2.00 functionToDecimal2 (x) {varf =parsefloat (x); if(IsNaN (f)) {return false; } varf = Math.Round (x*100)/100;vars =f.tostring (); varrs = S.indexof ('. ')); if(Rs < 0) {RS=s.length; S+ = '. '; } while(s.length <= RS + 2) {s+ = ' 0 '; } returns; } functionfomatfloat (src,pos) {returnMath.Round (Src*math.pow (), POS)/math.pow (POS); } //RoundingAlert ("Keep 2 decimal places:" + todecimal (3.14159267)); Alert ("Force reserved 2 decimal places:" + toDecimal2 (3.14159267)); Alert ("Keep 2 decimal places:" + todecimal (3.14559267)); Alert ("Force reserved 2 decimal places:" + toDecimal2 (3.15159267)); Alert ("Keep 2 decimal places:" + fomatfloat (3.14559267, 2)); Alert ("Keep 1 decimal places:" + fomatfloat (3.15159267, 1)); //five homes six intoAlert ("Keep 2 decimal places:" + 1000.003.toFixed (2)); Alert ("Keep 1 decimal places:" + 1000.08.toFixed (1)); Alert ("Keep 1 decimal places:" + 1000.04.toFixed (1)); Alert ("Keep 1 decimal places:" + 1000.05.toFixed (1)); //Scientific CountingAlert (3.1415.toExponential (2)); Alert (3.1455.toExponential (2)); Alert (3.1445.toExponential (2)); Alert (3.1465.toExponential (2)); Alert (3.1665.toExponential (1)); //accurate to n-bit, n-bit not includedAlert ("Precision to decimal point 2nd" + 3.1415.toPrecision (2)); Alert ("Accurate to 3rd decimal place" + 3.1465.toPrecision (3)); Alert ("Accurate to 2nd decimal place" + 3.1415.toPrecision (2)); Alert ("Accurate to 2nd decimal place" + 3.1455.toPrecision (2)); Alert ("Accurate to 5th decimal place" + 3.141592679287.toPrecision (5)); </script>
Use JavaScript to take the float type decimal point two, example 22.127456 to take 22.13, how to do?
1. Discard the fractional part, preserving the whole number of parts
parseint (5/2)
2. Rounding up, with decimals on the integer part plus 1
Math.ceil (5/2)
3, rounded.
Math.Round (5/2)
4, rounding down
Math.floor (5/2)
Alternative approach
1. The stupidest Way
function get () { var s = 22.127456 + ""; var str = s.substring (0,s.indexof (".") + 3);
2. Regular expression effect is good
<script type= "Text/javascript" >function() { var a = "23.456322"; var anew; var re =/([0-9]+.[ 0-9]{2}) [0-9]*/; = A.replace (Re, "$"); alert (anew);} </script>
3. He is more clever ...
<script>var num=22.127456; alert (math.round (num*100)/100);</script>
4. Friends who will use new things .... But we need ie5.5+ to support it.
5.js Reserved 2 decimal places (mandatory)
For the number of decimal places greater than 2 bits, with the above function is not a problem, but if less than 2 bits, such as: Changetwodecimal (3.1), will return 3.1, if you must need 3.10 such a format, then you need the following function:
functionChangetwodecimal_f (x) {varf_x =parsefloat (x); if(IsNaN (f_x)) {alert (' Function:changetwodecimal->parameter error '); return false; } varf_x = Math.Round (x * 100)/100; varS_x =f_x.tostring (); varPos_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 '; } returns_x;}
Function: Rounding the floating-point number, take 2 digits after the decimal point, if less than 2 bit 0,
This function returns the format usage of the string: Changetwodecimal (3.1415926) returns 3.14 Changetwodecimal (3.1) returns 3.10
A method of double digit after the decimal point of JS take float type