getTranslatedNumber function

String getTranslatedNumber(
  1. num number, {
  2. String unit = '',
  3. String currency = '',
  4. String symbol = '',
  5. String pattern = '',
  6. bool usesGrouping = false,
  7. int minimumIntegerDigitCount = 1,
  8. int minimumFractionalDigitCount = 0,
  9. int maximumFractionalDigitCount = 8,
})

Implementation

String getTranslatedNumber(
    num number,
    {
        String unit = '',
        String currency = '',
        String symbol = '',
        String pattern = '',
        bool usesGrouping = false,
        int minimumIntegerDigitCount = 1,
        int minimumFractionalDigitCount = 0,
        int maximumFractionalDigitCount = 8
    }
    )
{
    if ( pattern == '' )
    {
        for ( var minimumIntegerDigitCountIndex = 0;
              minimumIntegerDigitCountIndex < minimumIntegerDigitCount;
              ++minimumIntegerDigitCountIndex )
        {
            pattern += '0';
        }

        if ( minimumFractionalDigitCount > 0 )
        {
            pattern += '.' + '0' * minimumFractionalDigitCount;
        }

        if ( maximumFractionalDigitCount > minimumFractionalDigitCount )
        {
            if ( minimumFractionalDigitCount == 0 )
            {
                pattern += '.';
            }

            pattern += '#' * ( maximumFractionalDigitCount - minimumFractionalDigitCount );
        }

        if ( usesGrouping )
        {
            pattern = '#,##' + pattern;
        }
    }

    if ( unit.isNotEmpty )
    {
        return NumberFormat(
            pattern,
            getLanguageSubtag()
            ).format( number );
    }
    else if ( currency.isNotEmpty || symbol.isNotEmpty )
    {
        return NumberFormat(
            pattern,
            getLanguageSubtag()
            ).format( number );
    }
    else
    {
        return NumberFormat(
            pattern,
            getLanguageSubtag()
            ).format( number );
    }
}