https://www.vevb.com/article/154898.htm
以下に、JavaScriptの実装方法を紹介して、2つの10進実装方法を保持します。
丸め
次の処理結果は4ウェイです。
var num = 2.446242342; num.tofixed(2);
4ウェイエントリはありません
次の処理の結果は、4つの家には行きません。
最初のものは、最初に10進側の整数を置くことです。
Math.floor(15.7784514000 * 100) / 100 //出力結果は15.77です
2番目のタイプは、通常のマッチングを使用して、文字列として使用されます。
number(15.7784514000.tstring()。match(/^/d+(?:/./ d {0,2})//出力結果は15.77で、10.0000、10.0000などの整数には使用できません。注:否定的な場合は、計算する前に正の数に変換し、最終的に負の数に戻ります
JavaScriptは、2つの10進数の例を保持しています。
<script type = "text/javascript"> // 2つの小数点以下を予約しますparsefloat(x); if(isnan(f)){return;} f = round(x*100)/100; 2、つまり、2.00関数todecimal2(x){var f = parsefloat(x); = f.toString(); var rs = '。'); ){s += '0';} return s;}関数fomatfloat(src、pos){return math.round(src*math.pow(10、pos)) /math.pow(10、pos);} /} / / Four Hinds and Wutong( "2進数小数: + edecimal( + todecimal(3.14159267); alert(" 2小数点以下: " + edecimal2(3.14159267)); alert(" reside 2 decimal: + decimal(3.14559267) );アラート( "必須2桁:" + edecimalal 2(2(3.15159267)); alert( "2進数を維持: + fomatfloat(3.14559267、2)); ); // 2ビット10進: " + 1000.003.Tofixed(2)); )。 Exponence(2));; Alert(2));前proce(2)); + 3.1455.Toprecision(2));JavaScriptを使用して、たとえば22.127456が22.13になります。
1。小数部を廃棄し、整数部分を保持します
parseint(5/2)
2。上向きに取り、整数部に小数を追加して1を追加する
Math.ceil(5/2)
3、4軒の家と5つの入り。
Math.Round(5/2)
4、倒します
Math.floor(5/2)
代替方法
1。最も愚かな方法
次のようにコードコードをコピーします。
関数get()
{{
var s = 22.127456 + "" ";
var str = S.Substring(0、S.Indexof( "。") + 3);
アラート(str);
}
2。正規表現の良好な表現
次のようにコードコードをコピーします。
<script type = "text/javascript">
onload = function(){
var a = "23.456322";
var anew;
var re = /(#+9 /.9> 2})**)-2:
anew = a.replace(re、 "$ 1");
アラート(anew);
}
</script>
3。彼はより賢い...
次のようにコードコードをコピーします。
<スクリプト>
var num = 22.127456;
アラート(math.round(num*100)/100);
</script>
4。新鮮なものを使用する友人...しかし、それをサポートするためにIE5.5+が必要です。
5。JSは2つの小数を保持します(必須)
小数点が2ビットを超えると、上記の関数は問題ありませんが、次のような2ビット未満の場合、3.10の形式が必要な場合は、次の関数が必要です。 :
次のようにコードコードをコピーします。
関数changetwodecimal_f(x){
var f_x = parsefloat(x);
if(isnan(f_x)){
alert( 'function:changetwodecimal-> parameter e error');
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';
}
S_Xを返します;
}
機能:浮動小数点を置き、4軒の家と5軒の家に行き、小数点の後に2桁の桁を取得します。
この関数は、文字列のフォーマット使用量を返します:changetwodecimal(3.1415926)return 3.14 changetwodecimal(3.1)return 3.10 3.10