double が与えられた場合、 PHP の round() 関数と同様に、小数点以下の指定された精度のポイント数に丸めたいと思います。
Dart ドキュメントで最も近いものは double.toStringAsPrecision() ですが、これは小数点の前の数字を精度の合計ポイントに含めるため、私が必要としているものではありません。
たとえば、toStringAsPrecision(3) を使用すると、次のようになります。
0.123456789 rounds to 0.123
9.123456789 rounds to 9.12
98.123456789 rounds to 98.1
987.123456789 rounds to 987
9876.123456789 rounds to 9.88e+3
数値の絶対値が大きくなるにつれて、小数点以下の精度も低下します。
ベストアンサー1
ドキュメントを参照してくださいnum.toStringAsFixed()
。
toStringAsFixed(int fractionDigits) → String
この数値の小数点文字列表現。
文字列表現を計算する前にこれを double に変換します。
この絶対値が より大きいか等しい場合、
10^21
このメソッドは によって計算された指数表現を返しますthis.toStringAsExponential()
。例:
1000000000000000000000.toStringAsExponential(3); // 1.000e+21
fractionDigits
それ以外の場合、結果は小数点以下の桁数に最も近い文字列表現になります。fractionDigits
等しい場合0
は小数点は省略されます。パラメータは
fractionDigits
次を満たす整数である必要があります:0 <= fractionDigits <= 20
。例:
1.toStringAsFixed(3); // 1.000 (4321.12345678).toStringAsFixed(3); // 4321.123 (4321.12345678).toStringAsFixed(5); // 4321.12346 123456789012345678901.toStringAsFixed(3); // 123456789012345683968.000 1000000000000000000000.toStringAsFixed(3); // 1e+21 5.25.toStringAsFixed(0); // 5