How do you round a double in Dart to a given degree of precision AFTER the decimal point?

前端 未结 12 1083
[愿得一人]
[愿得一人] 2020-12-08 03:46

Given a double, I want to round it to a given number of points of precision after the decimal point, similar to PHP\'s round() function.

The closest thing I

12条回答
  •  余生分开走
    2020-12-08 04:21

    See the docs for num.toStringAsFixed().

    String toStringAsFixed(int fractionDigits)

    Returns a decimal-point string-representation of this.

    Converts this to a double before computing the string representation.

    • If the absolute value of this is greater or equal to 10^21 then this methods returns an exponential representation computed by this.toStringAsExponential().

    Examples:

    1000000000000000000000.toStringAsExponential(3); // 1.000e+21
    
    • Otherwise the result is the closest string representation with exactly fractionDigits digits after the decimal point. If fractionDigits equals 0 then the decimal point is omitted.

    The parameter fractionDigits must be an integer satisfying: 0 <= fractionDigits <= 20.

    Examples:

    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
    

提交回复
热议问题