public function __construct($number, $locale = 'en', $precision = null)
{
if (!is_numeric($number)) {
throw new \InvalidArgumentException('Binary suffix converter accept only numeric values.');
}
if (!is_null($precision)) {
$this->setSpecificPrecisionFormat($precision);
}
$this->number = (int) $number;
$this->locale = $locale;
/*
* Workaround for 32-bit systems which ignore array ordering when
* dropping values over 2^32-1
*/
krsort($this->binaryPrefixes);
}