1

数値情報をユーザーに柔軟に表示したい。これは望ましくtoFixedありません。toPrecision理想的には、次のように表現できます。

  • 5.450000000001 は「5.45」と表示されます。
  • 6.0 は「6」と表示されます。
  • 5.45001 は「5.45001」と表示されるはずですが、「小数点以下 2 桁まで」と明示したい場合は、「5.45」と表示されます。

このように数値を表示するための優れた JS ライブラリはありますか? そうでない場合、翻訳できる他の言語の優れたライブラリはありますか?

4

1 に答える 1

2

おそらく、この 1 つの目的のためにライブラリ全体を必要とするわけではありません。たとえば、単に使用して、末尾の s と末尾の小数点をtoFixed(2)取り除くことができます。0

function format_number(x){
  return ((+x).toFixed(2)+'').replace(/\.?0*$/, '');
}

使用法:

format_number(5.450000000001); // "5.45"
format_number("6.0"); // "6"
format_number("5.45001"); // "5.45"

オプションの引数として小数点以下の最大数を受け入れることも簡単です。

function format_number(x, digits){
  if(typeof digits != 'number')
    digits = 2;
  return ((+x).toFixed(digits)+'').replace(/\.?0*$/, '');
}

format_number(5.45001); // "5.45"
format_number(5.45001, 5); // "5.45001"
于 2013-09-11T23:43:28.663 に答える