You are here

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

* OCTTOHEX * * Return an octal value as hex. * * Excel Function: * OCT2HEX(x[,places]) * * @access public * @category Engineering Functions *

Parameters

string $x The octal number you want to convert. Number may not contain: * more than 10 octal characters (30 bits). The most significant * bit of number is the sign bit. The remaining 29 bits are * magnitude bits. Negative numbers are represented using * two's-complement notation. * If number is negative, OCT2HEX ignores places and returns a * 10-character hexadecimal number. * If number is not a valid octal number, OCT2HEX returns the * #NUM! error value. * If OCT2HEX requires more than places characters, it returns * the #NUM! error value. * @param integer $places The number of characters to use. If places is omitted, OCT2HEX * 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, OCT2HEX returns the #VALUE! error value. * If places is negative, OCT2HEX returns the #NUM! error value. * @return string

File

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

Class

PHPExcel_Calculation_Engineering
PHPExcel_Calculation_Engineering

Code

public static function OCTTOHEX($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 (preg_match_all('/[01234567]/', $x, $out) != strlen($x)) {
    return PHPExcel_Calculation_Functions::NaN();
  }
  $hexVal = strtoupper(dechex(octdec($x)));
  return self::_nbrConversionFormat($hexVal, $places);
}