eZ\Publish\Core\MVC\Symfony\Templating\Twig\Extension\FileSizeExtension::sizeFilter PHP Method

sizeFilter() public method

Returns the binary file size, $precision will determine the decimal number precision, and the Locale will alter the format of the result by choosing between coma or point pattern.
public sizeFilter ( integer $number, integer $precision ) : string
$number integer
$precision integer
return string
    public function sizeFilter($number, $precision)
    {
        $mod = 1000;
        $index = count($this->suffixes);
        if ($number < pow($mod, $index)) {
            for ($i = 0; $number >= $mod; ++$i) {
                $number /= $mod;
            }
        } else {
            $number /= pow($mod, $index - 1);
            $i = $index - 1;
        }
        $formatter = new NumberFormatter($this->getLocale(), NumberFormatter::PATTERN_DECIMAL);
        $formatter->setPattern($formatter->getPattern() . ' ' . $this->translator->trans($this->suffixes[$i]));
        $return = $formatter->format(round($number, $precision));
        return $return;
    }