pub struct Hex2OctFn;Expand description
Converts a hexadecimal text value to octal text.
Supports optional left-padding through the places argument.
§Remarks
- Input must be hexadecimal text up to 10 characters and may be signed two’s-complement.
- Converted values must fit the octal range
[-2^29, 2^29 - 1], or#NUM!is returned. placesmust be at least the output width and at most10, or#NUM!is returned.
§Examples
title: "Convert hex to octal"
formula: "=HEX2OCT(\"1F\")"
expected: "37"title: "Convert signed hex"
formula: "=HEX2OCT(\"FFFFFFFFFF\")"
expected: "7777777777"related:
- OCT2HEX
- HEX2DEC
- DEC2OCT
faq:
- q: "What causes `HEX2OCT` to return `#NUM!`?"
a: "The decoded value must fit octal output range `[-2^29, 2^29 - 1]`, and optional `places` must be valid."Trait Implementations§
Source§impl Function for Hex2OctFn
[formualizer-docgen:schema:start]
Name: HEX2OCT
Type: Hex2OctFn
Min args: 1
Max args: variadic
Variadic: true
Signature: HEX2OCT(arg1: any@scalar, arg2…: any@scalar)
Arg schema: arg1{kinds=any,required=true,shape=scalar,by_ref=false,coercion=None,max=None,repeating=None,default=false}; arg2{kinds=any,required=true,shape=scalar,by_ref=false,coercion=None,max=None,repeating=None,default=false}
Caps: PURE
[formualizer-docgen:schema:end]
impl Function for Hex2OctFn
[formualizer-docgen:schema:start] Name: HEX2OCT Type: Hex2OctFn Min args: 1 Max args: variadic Variadic: true Signature: HEX2OCT(arg1: any@scalar, arg2…: any@scalar) Arg schema: arg1{kinds=any,required=true,shape=scalar,by_ref=false,coercion=None,max=None,repeating=None,default=false}; arg2{kinds=any,required=true,shape=scalar,by_ref=false,coercion=None,max=None,repeating=None,default=false} Caps: PURE [formualizer-docgen:schema:end]
fn name(&self) -> &'static str
fn min_args(&self) -> usize
fn variadic(&self) -> bool
fn arg_schema(&self) -> &'static [ArgSchema]
Source§fn eval<'a, 'b, 'c>(
&self,
args: &'c [ArgumentHandle<'a, 'b>],
_ctx: &dyn FunctionContext<'b>,
) -> Result<CalcValue<'b>, ExcelError>
fn eval<'a, 'b, 'c>( &self, args: &'c [ArgumentHandle<'a, 'b>], _ctx: &dyn FunctionContext<'b>, ) -> Result<CalcValue<'b>, ExcelError>
The unified evaluation path. Read more
fn namespace(&self) -> &'static str
fn volatile(&self) -> bool
Source§fn aliases(&self) -> &'static [&'static str]
fn aliases(&self) -> &'static [&'static str]
Optional list of additional alias names (case-insensitive) that should resolve to this
function. Default: empty slice. Implementors can override to expose legacy names.
Returned slice must have ’static lifetime (typically a static array reference).
fn function_salt(&self) -> u64
Source§fn eval_reference<'a, 'b, 'c>(
&self,
_args: &'c [ArgumentHandle<'a, 'b>],
_ctx: &dyn FunctionContext<'b>,
) -> Option<Result<ReferenceType, ExcelError>>
fn eval_reference<'a, 'b, 'c>( &self, _args: &'c [ArgumentHandle<'a, 'b>], _ctx: &dyn FunctionContext<'b>, ) -> Option<Result<ReferenceType, ExcelError>>
Optional reference result path. Only called by the interpreter/engine
when the callsite expects a reference (e.g., range combinators, by-ref
argument positions, or spill sources). Read more
Source§fn dispatch<'a, 'b, 'c>(
&self,
args: &'c [ArgumentHandle<'a, 'b>],
ctx: &dyn FunctionContext<'b>,
) -> Result<CalcValue<'b>, ExcelError>
fn dispatch<'a, 'b, 'c>( &self, args: &'c [ArgumentHandle<'a, 'b>], ctx: &dyn FunctionContext<'b>, ) -> Result<CalcValue<'b>, ExcelError>
Dispatch to the unified evaluation path with automatic argument validation.
Auto Trait Implementations§
impl Freeze for Hex2OctFn
impl RefUnwindSafe for Hex2OctFn
impl Send for Hex2OctFn
impl Sync for Hex2OctFn
impl Unpin for Hex2OctFn
impl UnsafeUnpin for Hex2OctFn
impl UnwindSafe for Hex2OctFn
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more