pub struct Bin2DecFn;Expand description
Converts a binary text value to decimal.
Supports up to 10 binary digits, including two’s-complement negative values.
§Remarks
- Input is coerced to text and must contain only
0and1. - 10-digit values starting with
1are interpreted as signed two’s-complement numbers. - Returns
#NUM!for invalid characters or inputs longer than 10 digits.
§Examples
title: "Convert an unsigned binary value"
formula: "=BIN2DEC(\"101010\")"
expected: 42title: "Interpret signed 10-bit binary"
formula: "=BIN2DEC(\"1111111111\")"
expected: -1related:
- DEC2BIN
- BIN2HEX
- BIN2OCT
faq:
- q: "How does `BIN2DEC` handle 10-bit values starting with `1`?"
a: "They are interpreted as signed two's-complement values, so `1111111111` becomes `-1`."Trait Implementations§
Source§impl Function for Bin2DecFn
[formualizer-docgen:schema:start]
Name: BIN2DEC
Type: Bin2DecFn
Min args: 1
Max args: 1
Variadic: false
Signature: BIN2DEC(arg1: any@scalar)
Arg schema: arg1{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 Bin2DecFn
[formualizer-docgen:schema:start] Name: BIN2DEC Type: Bin2DecFn Min args: 1 Max args: 1 Variadic: false Signature: BIN2DEC(arg1: any@scalar) Arg schema: arg1{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 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 variadic(&self) -> bool
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 Bin2DecFn
impl RefUnwindSafe for Bin2DecFn
impl Send for Bin2DecFn
impl Sync for Bin2DecFn
impl Unpin for Bin2DecFn
impl UnsafeUnpin for Bin2DecFn
impl UnwindSafe for Bin2DecFn
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