You are here

public static function PHPExcel_Calculation_Engineering::HEXTOBIN in Loft Data Grids 7.2

Same name and namespace in other branches
  1. 6.2 vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Engineering.php \PHPExcel_Calculation_Engineering::HEXTOBIN()

* HEXTOBIN * * Return a hex value as binary. * * Excel Function: * HEX2BIN(x[,places]) * * @access public * @category Engineering Functions *

Parameters

string $x the hexadecimal number you want to convert. Number cannot: * contain more than 10 characters. The most significant bit of * number is the sign bit (40th bit from the right). The remaining * 9 bits are magnitude bits. Negative numbers are represented * using two's-complement notation. * If number is negative, HEX2BIN ignores places and returns a * 10-character binary number. * If number is negative, it cannot be less than FFFFFFFE00, and * if number is positive, it cannot be greater than 1FF. * If number is not a valid hexadecimal number, HEX2BIN returns * the #NUM! error value. * If HEX2BIN requires more than places characters, it returns * the #NUM! error value. * @param integer $places The number of characters to use. If places is omitted, * HEX2BIN uses the minimum number of characters necessary. Places * is useful for padding the return value with leading 0s (zeros). * If places is not an integer, it is truncated. * If places is nonnumeric, HEX2BIN returns the #VALUE! error value. * If places is negative, HEX2BIN returns the #NUM! error value. * @return string

File

vendor/phpoffice/phpexcel/Classes/PHPExcel/Calculation/Engineering.php, line 1395

Class

PHPExcel_Calculation_Engineering
PHPExcel_Calculation_Engineering

Code

public static function HEXTOBIN($x, $places = null) {
  $x = PHPExcel_Calculation_Functions::flattenSingleValue($x);
  $places = PHPExcel_Calculation_Functions::flattenSingleValue($places);
  if (is_bool($x)) {
    return PHPExcel_Calculation_Functions::VALUE();
  }
  $x = (string) $x;
  if (strlen($x) > preg_match_all('/[0123456789ABCDEF]/', strtoupper($x), $out)) {
    return PHPExcel_Calculation_Functions::NaN();
  }
  $binVal = decbin(hexdec($x));
  return substr(self::_nbrConversionFormat($binVal, $places), -10);
}