Platforms to show: All Mac Windows Linux Cross-Platform
BiggerNumberMBS class
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
class | Math | MBS DataTypes Plugin | 20.1 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
This is floating point number with 320 bits in BigNumber and 2560 bits in BiggerNumber class.
Precision is about 77 digits dot for the smaller one and 617 for the bigger one.
So use first for speed and second for precision.
So if you want to store currency or other values where rounding should not happen, better store values multiplied, e.g. in cents.
Compared to normal double values, you have 5 times the bits.
And we check for math errors and raise exceptions if something goes wrong.
See LargeNumberMBS for a 4128 bit integer number, about 1200 digits in length.
- 15 properties
- property CurrencyValue as Currency
- property DataExponent as MemoryBlock
- property DataFlags as Integer
- property DataMantissa as MemoryBlock
- property DoubleValue as Double
- property Int64Value as Int64
- property IntegerValue as Integer
- property IsInteger as Boolean
- property IsNan as Boolean
- property IsNegative as Boolean
- property IsZero as Boolean
- property StringValue as String
- property UInt64Value as UInt64
- property VariantValue as Variant
- property StringValue(Base as Integer) as String
- 54 methods
- method Abs as BiggerNumberMBS
- method Add(other as BiggerNumberMBS, round as boolean = true) as BiggerNumberMBS
- method BitAnd(other as BiggerNumberMBS) as BiggerNumberMBS
- method BitOr(other as BiggerNumberMBS) as BiggerNumberMBS
- method BitXOr(other as BiggerNumberMBS) as BiggerNumberMBS
- method Ceil as BiggerNumberMBS
- method Constructor
- method Constructor(other as BiggerNumberMBS)
- method Constructor(value as Currency)
- method Constructor(value as Double)
- method Constructor(value as Int32)
- method Constructor(value as Int64)
- method Constructor(value as Single)
- method Constructor(value as String)
- method Constructor(value as UInt32)
- method Constructor(value as UInt64)
- method Divide(other as BiggerNumberMBS, round as boolean = true) as BiggerNumberMBS
- method Equals(other as BiggerNumberMBS) as Boolean
- method Floor as BiggerNumberMBS
- method Frac as BiggerNumberMBS
- method GetStringValue(Base as Integer = 10, scientific as boolean = false, scientificFrom as Integer = 15, round as Integer = -1, TrimZeros as Boolean = true, comma as String = ".") as String
- method GetStringValue(Conversion as BigNumberConversionMBS) as String
- method Modulate(other as BiggerNumberMBS) as BiggerNumberMBS
- method Modulate2 as Integer
- method Multiply(other as BiggerNumberMBS, round as boolean = true) as BiggerNumberMBS
- method Multiply(value as Integer) as BiggerNumberMBS
- method Multiply(value as UInt32) as BiggerNumberMBS
- method Negate as BiggerNumberMBS
- method Operator_Add(other as BiggerNumberMBS) as BiggerNumberMBS
- method Operator_AddRight(other as BiggerNumberMBS) as BiggerNumberMBS
- method Operator_Compare(other as BiggerNumberMBS) as Integer
- method Operator_Convert as String
- method Operator_Convert(value as String)
- method Operator_Divide(other as BiggerNumberMBS) as BiggerNumberMBS
- method Operator_DivideRight(other as BiggerNumberMBS) as BiggerNumberMBS
- method Operator_IntegerDivide(other as BiggerNumberMBS) as BiggerNumberMBS
- method Operator_IntegerDivideRight(other as BiggerNumberMBS) as BiggerNumberMBS
- method Operator_Modulo(other as BiggerNumberMBS) as BiggerNumberMBS
- method Operator_ModuloRight(other as BiggerNumberMBS) as BiggerNumberMBS
- method Operator_Multiply(other as BiggerNumberMBS) as BiggerNumberMBS
- method Operator_MultiplyRight(other as BiggerNumberMBS) as BiggerNumberMBS
- method Operator_Negate as BiggerNumberMBS
- method Operator_Power(other as BiggerNumberMBS) as BiggerNumberMBS
- method Operator_PowerRight(other as BiggerNumberMBS) as BiggerNumberMBS
- method Operator_Subtract(other as BiggerNumberMBS) as BiggerNumberMBS
- method Operator_SubtractRight(other as BiggerNumberMBS) as BiggerNumberMBS
- method Pow(other as BiggerNumberMBS) as BiggerNumberMBS
- method Round as BiggerNumberMBS
- method SetStringValue(Text As String, Base as Integer, byref AfterText as String, Byref ValueRead as boolean)
- method SetStringValue(Text As String, Conversion as BigNumberConversionMBS)
- method SetStringValue(Text As String, Conversion as BigNumberConversionMBS, byref AfterText as String, Byref ValueRead as boolean)
- method SkipFraction as BiggerNumberMBS
- method Sqrt as BiggerNumberMBS
- method Subtract(other as BiggerNumberMBS, round as boolean = true) as BiggerNumberMBS
- 55 shared methods
- shared method Abs(value as BiggerNumberMBS) as BiggerNumberMBS
- shared method ACos(value as BiggerNumberMBS) as BiggerNumberMBS
- shared method ACosh(value as BiggerNumberMBS) as BiggerNumberMBS
- shared method ACot(value as BiggerNumberMBS) as BiggerNumberMBS
- shared method ACoth(value as BiggerNumberMBS) as BiggerNumberMBS
- shared method ASin(value as BiggerNumberMBS) as BiggerNumberMBS
- shared method ASinh(value as BiggerNumberMBS) as BiggerNumberMBS
- shared method ATan(value as BiggerNumberMBS) as BiggerNumberMBS
- shared method ATanh(value as BiggerNumberMBS) as BiggerNumberMBS
- shared method Cos(value as BiggerNumberMBS) as BiggerNumberMBS
- shared method Cosh(value as BiggerNumberMBS) as BiggerNumberMBS
- shared method Cot(value as BiggerNumberMBS) as BiggerNumberMBS
- shared method Coth(value as BiggerNumberMBS) as BiggerNumberMBS
- shared method DegToDeg(d as BiggerNumberMBS, m as BiggerNumberMBS, s as BiggerNumberMBS) as BiggerNumberMBS
- shared method DegToGrad(d as BiggerNumberMBS, m as BiggerNumberMBS, s as BiggerNumberMBS) as BiggerNumberMBS
- shared method DegToGrad(value as BiggerNumberMBS) as BiggerNumberMBS
- shared method DegToRad(d as BiggerNumberMBS, m as BiggerNumberMBS, s as BiggerNumberMBS) as BiggerNumberMBS
- shared method DegToRad(value as BiggerNumberMBS) as BiggerNumberMBS
- shared method E as BiggerNumberMBS
- shared method Exp(value as BiggerNumberMBS) as BiggerNumberMBS
- shared method GradToDeg(value as BiggerNumberMBS) as BiggerNumberMBS
- shared method GradToRad(value as BiggerNumberMBS) as BiggerNumberMBS
- shared method HalfPi as BiggerNumberMBS
- shared method LibTypeStr as String
- shared method Ln(value as BiggerNumberMBS) as BiggerNumberMBS
- shared method Ln10 as BiggerNumberMBS
- shared method Ln2 as BiggerNumberMBS
- shared method Log(value as BiggerNumberMBS, base as BiggerNumberMBS) as BiggerNumberMBS
- shared method Max as BiggerNumberMBS
- shared method Min as BiggerNumberMBS
- shared method Nan as BiggerNumberMBS
- shared method NumberWithCurrency(value as Currency) as BiggerNumberMBS
- shared method NumberWithDouble(value as Double) as BiggerNumberMBS
- shared method NumberWithInt32(value as Int32) as BiggerNumberMBS
- shared method NumberWithInt64(value as Int64) as BiggerNumberMBS
- shared method NumberWithInteger(value as Integer) as BiggerNumberMBS
- shared method NumberWithSingle(value as single) as BiggerNumberMBS
- shared method NumberWithString(value as String) as BiggerNumberMBS
- shared method NumberWithUInt32(value as UInt32) as BiggerNumberMBS
- shared method NumberWithUInt64(value as UInt64) as BiggerNumberMBS
- shared method NumberWithUInteger(value as UInteger) as BiggerNumberMBS
- shared method NumberWithVariant(value as Variant) as BiggerNumberMBS
- shared method One as BiggerNumberMBS
- shared method Pi as BiggerNumberMBS
- shared method RadToDeg(value as BiggerNumberMBS) as BiggerNumberMBS
- shared method RadToGrad(value as BiggerNumberMBS) as BiggerNumberMBS
- shared method Rand as BiggerNumberMBS
- shared method Root(value as BiggerNumberMBS, index as BiggerNumberMBS) as BiggerNumberMBS
- shared method Sgn(value as BiggerNumberMBS) as BiggerNumberMBS
- shared method Sin(value as BiggerNumberMBS) as BiggerNumberMBS
- shared method Sinh(value as BiggerNumberMBS) as BiggerNumberMBS
- shared method Tan(value as BiggerNumberMBS) as BiggerNumberMBS
- shared method Tanh(value as BiggerNumberMBS) as BiggerNumberMBS
- shared method TwoPi as BiggerNumberMBS
- shared method Zero as BiggerNumberMBS
This class has no sub classes.
Blog Entries
- News from the MBS Xojo Plugins Version 24.0
- MBS Xojo Plugin, June 2021 News
- News from the MBS Xojo Plugins Version 21.1
- Video about MBS Xojo Plugins 21.1
- MonkeyBread Software Releases the MBS Xojo Plugins in version 21.1
- MBS Xojo Plugins, version 21.1pr9
Xojo Developer Magazine
- 21.3, page 68: Large, Big, and Bigger Numbers, Working with giant numbers by Stefanie Juchmes
- 21.1, page 27: News from MBS Xojo Plugins, What's up with MonkeyBread Software by Stefanie Juchmes
- 19.3, page 44: Xojo Time and Space—Into a Programming Black Hole, How converting durations and distances into human-readable form reveals a 32-bit problem at the heart of Xojo's 64-bit math module by Markus Winter
- 19.3, page 10: News
Videos
Release notes
- Version 21.1
- Added BiggerNumberMBS to have 2560 bit floating point number for even bigger range and precision. 512 bit exponent and 2048 bit fraction.
The items on this page are in the following plugins: MBS DataTypes Plugin.
BevelButton - BigNumberConversionMBS