You are here

public static function PHPExcel_Calculation_Engineering::HEXTOOCT 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::HEXTOOCT()

* HEXTOOCT * * Return a hex value as octal. * * Excel Function: * HEX2OCT(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. The remaining 39 bits are magnitude * bits. Negative numbers are represented using two's-complement * notation. * If number is negative, HEX2OCT ignores places and returns a * 10-character octal number. * If number is negative, it cannot be less than FFE0000000, and * if number is positive, it cannot be greater than 1FFFFFFF. * If number is not a valid hexadecimal number, HEX2OCT returns * the #NUM! error value. * If HEX2OCT requires more than places characters, it returns * the #NUM! error value. * @param integer $places The number of characters to use. If places is omitted, HEX2OCT * 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, HEX2OCT returns the #VALUE! error * value. * If places is negative, HEX2OCT returns the #NUM! error value. * @return string

File

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

Class

PHPExcel_Calculation_Engineering
PHPExcel_Calculation_Engineering

Code

public static function HEXTOOCT($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();
  }
  $octVal = decoct(hexdec($x));
  return self::_nbrConversionFormat($octVal, $places);
}