awesome-repositories.com
Blog
MCP
awesome-repositories.com

Descoperă cele mai bune repository-uri open source cu căutare AI.

ExploreazăCăutări recomandateAlternative open-sourceSoftware self-hostedBlogHartă site
ProiectDespreCum realizăm clasamentulPresăServer MCP
LegalConfidențialitateTermeni
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
dinerojs avatar

dinerojs/dinero.js

0
View on GitHub↗
6,758 stele·201 fork-uri·TypeScript·MIT·5 vizualizăridinerojs.com↗

Dinero.js

Dinero.js is a TypeScript-first library for creating, calculating, and formatting monetary values. It provides immutable money objects that represent amounts in the smallest currency subdivision as integers, ensuring precision and preventing floating-point errors. The library enforces same-currency rules on arithmetic operations and validates currency codes against ISO 4217 definitions at creation time.

The library distinguishes itself through a calculator plugin architecture that delegates arithmetic operations to interchangeable backends, supporting number, bigint, or custom precision libraries. It offers type-safe module variants with separate import paths for number and bigint backends, enabling compile-time type selection without runtime overhead. Dinero.js also includes a proportional allocation algorithm that distributes monetary values across recipients without losing fractional cents, and provides scale-normalized arithmetic that converts amounts to a common decimal scale before addition or subtraction.

The library supports immutable arithmetic operations including addition, subtraction, comparison, proportional allocation, and currency conversion. It generates decimal string representations of monetary amounts without locale-specific formatting, allowing callers to apply their own localization layer. Custom scale configuration enables overriding the default currency exponent to handle currencies with no minor units or non-decimal subdivisions.

Features

  • Monetary Value Libraries - Provides an immutable library for creating, calculating, and formatting monetary values with precision-safe arithmetic.
  • Multi-Currency Value Objects - Represents and converts monetary values across currencies with configurable scale and subdivision handling.
  • Currency Validators - Enforces same-currency rules on arithmetic and validates currency codes against ISO 4217.
  • Monetary Calculator Plugins - Provides a plugin architecture that delegates arithmetic to interchangeable calculator backends.
  • Monetary Value Objects - Provides immutable money objects with safe arithmetic, comparison, and formatting operations.
  • Scale-Normalized Monetary Arithmetic - Normalizes monetary amounts to a common decimal scale before arithmetic to prevent precision loss.
  • Monetary Arithmetic Libraries - Handles monetary values with multiple amount types including number, bigint, and custom precision backends.
  • Proportional Money Splitters - Splits monetary values across recipients according to ratios without losing fractional cents.
  • Smallest Subdivision Integers - Represents amounts in the smallest currency subdivision as integers to prevent floating-point errors.
  • Monetary Precision Backends - Supports custom calculator plugins for third-party precision libraries like big.js.
  • Monetary Allocation Algorithms - Implements a proportional allocation algorithm that distributes monetary values without losing fractional cents.
  • Financial Arithmetic Libraries - Performs arithmetic on monetary values without floating-point errors, supporting proportional allocation and currency conversion.
  • Bigint and Number Variants - Provides separate import paths for number and bigint backends, enabling compile-time type selection.
  • Monetary - Represents monetary values as frozen immutable objects with amount and currency.
  • Addition and Subtraction Operations - Adds or subtracts monetary values immutably, returning new objects without altering originals.
  • Addition Operations - Sums money objects with scale normalization and same-currency enforcement.
  • Safe Arithmetic Operations - Performs immutable arithmetic on monetary values with scale normalization and same-currency enforcement.
  • Value Comparisons - Compares monetary values for equality, greater-than, or less-than relationships.
  • Value Constructors - Creates immutable money objects from an amount and currency code for safe arithmetic.
  • Subdivision Overrides - Ships custom scale configuration to override default currency exponents for non-standard subdivisions.
  • Locale-Aware Currency Formatting - Generates decimal string representations of monetary amounts without locale-specific formatting.
  • Locale-Independent Decimal Formatters - Generates decimal strings without locale-specific formatting, leaving localization to the caller.
  • Currency Conversion - Converts monetary values between currencies using exchange rates while maintaining precision.
  • Monetary Amount Type Selectors - Selects between number, bigint, or library-backed types for monetary amounts based on precision needs.
  • Module Variant Imports - Provides separate import paths for number and bigint backends with compile-time type selection.
  • Currency Scale Configurations - Overrides default currency exponent scale to handle currencies with no minor units or non-decimal subdivisions.
  • Bigint Monetary Amounts - Uses bigint for monetary amounts to safely represent arbitrarily large values beyond number limits.
  • Custom Calculator Backends - Accepts custom calculator objects to support third-party arithmetic libraries for arbitrary precision.
  • Customizable Monetary Formatters - Formats monetary values as strings with optional custom transformer functions.
  • Locale-Aware Value Formatting - Provides locale-aware formatting of monetary values with configurable decimal separators.

Istoric stele

Graficul istoricului de stele pentru dinerojs/dinero.jsGraficul istoricului de stele pentru dinerojs/dinero.js

Căutare AI

Explorează mai multe repository-uri excelente

Descrie ce ai nevoie în limbaj simplu — AI-ul sortează mii de proiecte open source selectate în funcție de relevanță.

Start searching with AI

Alternative open-source pentru Dinero.js

Proiecte open-source similare, clasificate după numărul de funcționalități comune cu Dinero.js.
  • moneyphp/moneyAvatar moneyphp

    moneyphp/money

    4,846Vezi pe GitHub↗

    This is a PHP library for handling financial calculations using value objects. It represents monetary amounts as integers to avoid floating-point precision errors and ensure mathematical accuracy during processing and storage. The library utilizes an immutable value object pattern where calculations return new instances to prevent side effects. It employs currency-aware arithmetic to restrict mathematical operations to objects sharing the same currency and uses interface-based logic to delegate currency conversion to external exchange providers. Capabilities include international currency fo

    PHP
    Vezi pe GitHub↗4,846
  • openexchangerates/accounting.jsAvatar openexchangerates

    openexchangerates/accounting.js

    4,985Vezi pe GitHub↗

    accounting.js is a JavaScript library and utility suite for formatting localized numbers and currency strings, rounding decimal values, and parsing currency strings. It provides tools to transform numeric values into human-readable strings using language-specific separators and custom symbols. The library includes a currency string parser to extract raw numerical values from formatted strings by removing symbols and separators. It also features a floating point rounding tool designed to prevent binary precision errors during financial calculations. Additional capabilities cover the vertical

    JavaScript
    Vezi pe GitHub↗4,985
  • actualbudget/actualAvatar actualbudget

    actualbudget/actual

    27,038Vezi pe GitHub↗

    Actual is a local-first personal finance manager designed to help users track income, manage expenses, and maintain a balanced budget. It functions as a data-centric application that prioritizes offline access and local file storage, ensuring that financial records remain available and performant regardless of network connectivity. The platform distinguishes itself through a robust architectural foundation that emphasizes data integrity and auditability. Every financial action is recorded as an immutable sequence of events, and all currency values are processed using an integer-based arithmet

    TypeScriptbudgetingfinancemoney
    Vezi pe GitHub↗27,038
  • codeigniter4/codeigniter4Avatar codeigniter4

    codeigniter4/CodeIgniter4

    5,924Vezi pe GitHub↗

    CodeIgniter is a PHP web framework built on the Model-View-Controller pattern, designed for building full-stack web applications. It provides a lightweight toolkit with minimal configuration, organizing application logic into controllers, models, and views for clean separation of concerns. The framework includes a fluent query builder for constructing SQL statements programmatically, PSR-4 autoloading with namespace mapping, and a service-based dependency injection container for managing shared class instances. The framework distinguishes itself through its comprehensive set of built-in tools

    PHPcodeignitercodeigniter4framework-php
    Vezi pe GitHub↗5,924
Vezi toate cele 30 alternative pentru Dinero.js→

Întrebări frecvente

Ce face dinerojs/dinero.js?

Dinero.js is a TypeScript-first library for creating, calculating, and formatting monetary values. It provides immutable money objects that represent amounts in the smallest currency subdivision as integers, ensuring precision and preventing floating-point errors. The library enforces same-currency rules on arithmetic operations and validates currency codes against ISO 4217 definitions at creation time.

Care sunt principalele funcționalități ale dinerojs/dinero.js?

Principalele funcționalități ale dinerojs/dinero.js sunt: Monetary Value Libraries, Multi-Currency Value Objects, Currency Validators, Monetary Calculator Plugins, Monetary Value Objects, Scale-Normalized Monetary Arithmetic, Monetary Arithmetic Libraries, Proportional Money Splitters.

Care sunt câteva alternative open-source pentru dinerojs/dinero.js?

Alternativele open-source pentru dinerojs/dinero.js includ: moneyphp/money — This is a PHP library for handling financial calculations using value objects. It represents monetary amounts as… openexchangerates/accounting.js — accounting.js is a JavaScript library and utility suite for formatting localized numbers and currency strings,… actualbudget/actual — Actual is a local-first personal finance manager designed to help users track income, manage expenses, and maintain a… codeigniter4/codeigniter4 — CodeIgniter is a PHP web framework built on the Model-View-Controller pattern, designed for building full-stack web… fincept-corporation/finceptterminal — FinceptTerminal is a quantitative finance platform and financial engineering library designed for asset valuation,… ironcalc/ironcalc — IronCalc is an XLSX spreadsheet engine and formula evaluator designed to compute numerical expressions and manage…