この章では、数値の小数点以下 2 桁を保持する効果を実現する方法を紹介します。数値の元の小数点以下の桁数が 2 桁未満の場合、不足している桁は自動的にゼロで埋められます。これは、次の目的でもあります。まずコード例を見てみましょう:
function returnFloat(value){ var value=Math.round(parseFloat(value)*100)/100; var xsd=value.toString().split("."); if(xsd.length==1){ value=value.toString()+".00"; return value; } if(xsd.length>1){ if(xsd[1].length<2){ value=value.toString()+"0"; } return value; } } var num=3.1; console.log(returnFloat(num));
上記のコードは要件を満たしています。ここではその実装プロセスを紹介します。
1. コードのコメント:
1.function returnFloat(value){}、パラメータは変換される数値です。
2.var value=Math.round(parseFloat(value)*100)/100、これが関数の中核となるはずです。parseFloat(value) はパラメータを浮動小数点数に変換します。パラメータは文字列、100 を掛ける理由は、小数点以下 2 桁を保持するためです。次に、Math.round() メソッドを使用して丸め計算を実行し、最後に 100 で除算します。小数点以下 2 桁は保持されますが、これは完全ではありません (3.1415 など) パラメータ数値自体の小数点以下の桁数が 2 以上である場合は問題ありません。 3 や 3.0 のような完璧な実装はありません。引き続き以下を参照してください。
3.var xsd=value.toString().split(".")、ドット "." 値を使用して配列に分割します。
4.if(xsd.length==1){value=value.toString()+".00";戻り値;}、配列の長さが 1 の場合、つまり配列が存在しない場合10 進数の場合、数値にゼロが 2 つ追加されます。たとえば、3 は 3.00 に変換されます。
5.
if(xsd.length>1){ if(xsd[1].length<2){ value=value.toString()+"0"; } return value; }
if(xsd.length>1) は、数値の長さが 1 より大きいかどうか、つまり、数値に小数があるが、小数桁数が少ないかどうかを判断するために使用されます。 3.1 に似た 2 ではなく、3.10 に変換した後に 0 を追加します。
2. 関連する学習チュートリアル:
1.Math.round() は、JavaScript の Math.round() メソッド の章にあります。
2. parseFloat() 関数は、javascript parseFloat() メソッドの章にあります。
3. toString() 関数については、「JavaScript の Number オブジェクトの toString() メソッド 」の章を参照してください。
4. Split() 関数は、JavaScript の String オブジェクトの Split() メソッド の章にあります。