safebase
v1.0.0
Published
safebase is helps you safely compute very large numbers.
Downloads
14
Maintainers
Readme
🔢 safebase
Tiny 2kb, zero deps, infinite precision: SafeBase for all your big integer + big decimal needs.
SafeBase is a Lightweight
, Zero Dependency
JavaScript library for safe and precise arithmetic operations on Big Integer
+ Big Decimal
. It excels at handling both Big Decimal and Big Integer computations with ease. 🧮
Features 🌟
- 🔢 Supports operations on extremely large numbers (Big Number)
- 🔒 Zero dependencies
- 🪶 Lightweight: Only 2kb in size
- 💻 Full TypeScript support
- 🎯 High precision decimal arithmetic (Big Decimal)
- 🔀 Seamless handling of both Big Decimal and Big Number operations
Installation 📥
npm install safebase
Usage 🚀
import { add, subtract, multiply, divide } from "safebase";
console.log(add("10000000000000000000000", "0.00000000005"));
// '10000000000000000000000.00000000005'
console.log(subtract("-9999999999999999999999.9", "0.1"));
// '-10000000000000000000000'
console.log(multiply("123456789123456789", "0.000000001"));
// '123.456789123456789'
console.log(divide("1000000000000000000000", "0.1"));
// '10000000000000000000000'
API 📚
add(left: string, right: string): string
Adds two numbers represented as strings.
subtract(left: string, right: string): string
Subtracts the second number from the first, both represented as strings.
multiply(left: string, right: string): string
Multiplies two numbers represented as strings.
divide(left: string, right: string, precision: number = 20): string
Divides the first number by the second, both represented as strings. The precision
parameter determines the number of decimal places in the result (default is 20).
Why SafeBase? 🤔
JavaScript's native number type has limitations when dealing with very large numbers or high precision decimals. SafeBase overcomes these limitations by:
- 🔢 Representing numbers as strings, allowing for arbitrary-length integers
- 🎯 Providing high-precision decimal arithmetic
- 🐛 Avoiding floating-point errors common in JavaScript's native math operations
Performance 🚀
SafeBase is optimized for performance while maintaining accuracy. It's suitable for applications requiring precise calculations with large numbers, such as financial systems, scientific computing, or cryptography.
Contributing 🤝
Contributions are welcome! Please feel free to submit a Pull Request.
License 📄
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments 👏
- Thanks to all contributors who have helped shape SafeBase
- Inspired by the need for reliable big number arithmetic in JavaScript