Class VBDoubleType
A VBNumericType<T> representing the Double data type.
public sealed record VBDoubleType : VBNumericType<double>, IEquatable<VBType>, IEquatable<VBIntrinsicType>, IEquatable<VBNumericType>, IEquatable<VBNumericType<double>>, IFloatingPointNumericType, INumericType, IEquatable<VBDoubleType>
- Inheritance
-
VBDoubleType
- Implements
- Inherited Members
Remarks
The managed type of a value of this data type is double.
👉 Implements IFloatingPointNumericType.
Constructors
VBDoubleType()
A VBNumericType<T> representing the Double data type.
public VBDoubleType()
Remarks
The managed type of a value of this data type is double.
👉 Implements IFloatingPointNumericType.
Fields
SignificantIntegerDigits
The number of significant digits retained in a String representation of a value of this type.
public const int SignificantIntegerDigits = 15
Field Value
Properties
DefaultValue
Gets the default value for this data type.
public override VBTypedValue DefaultValue { get; }
Property Value
Remarks
⚠️ Derived types must back the implementation of this property with a thread-safe private static readonly Lazy<T>.
Failure to do so would lock up the static context initialization of the StaticSymbol symbols.
ManagedMaxValue
Gets the maximum representable managed (.net) value for this data type.
public override double ManagedMaxValue { get; }
Property Value
ManagedMinValue
Gets the minimum representable managed (.net) value for this data type.
public override double ManagedMinValue { get; }
Property Value
MaxValue
Gets the maximum representable value for this data type.
public static VBDoubleValue MaxValue { get; }
Property Value
MinValue
Gets the minimum representable value for this data type.
public static VBDoubleValue MinValue { get; }
Property Value
One
Gets the value 1 (one) representation of this data type.
public static VBDoubleValue One { get; }
Property Value
Remarks
Used for returning a constant 1 from certain runtime semantics.
TypeInfo
The Double data type.
public static VBDoubleType TypeInfo { get; }
Property Value
Zero
Gets the value 0 (zero) representation of this data type.
public static VBDoubleValue Zero { get; }
Property Value
Methods
CreateValue(IBindingHandle)
Creates a value of this type bound to handle.
public override VBTypedValue CreateValue(IBindingHandle handle)
Parameters
handleIBindingHandle
Returns
Remarks
The base implementation throws: only types that can hold a runtime value override this
(matches the intent of the removed VBTypedValueFactory.CreateValue(VBType) switch,
which returned null for the rest).
CreateValue(double)
Creates a value of this numeric type holding value, converted to this
type's managed representation (banker's rounding for integral targets, as per Convert).
public override VBNumericTypedValue CreateValue(double value)
Parameters
valuedouble