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

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
openexchangerates avatar

openexchangerates/accounting.js

0
View on GitHub↗
4,985 stars·526 forks·JavaScript·MIT·2 viewsopenexchangerates.github.io/accounting.js↗

Accounting.js

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 alignment of currency symbols and decimal points for financial tables. The toolset also supports localized number formatting and the conversion of numbers or arrays of numbers into strings with specific precision settings.

Features

  • Locale-Aware Currency Formatting - Converts numbers into localized currency strings using custom symbols and specific placement for the currency sign.
  • Date and Number Parsing - Extracts raw numerical values from formatted strings by stripping away currency symbols and separators.
  • Monetary Value Libraries - Provides a comprehensive library for creating and formatting localized currency strings with precision-safe arithmetic.
  • Regional Number Formatting - Transforms numbers or arrays of numbers into strings with specific precision and localized thousands separators.
  • Decimal Rounding Utilities - Provides utilities to round numeric values to specific decimal places while preventing binary floating point errors.
  • Numeric String Parsers - Extracts raw numerical values from formatted strings by removing non-numeric characters and separators.
  • Currency String Parsing - Extracts numeric values from formatted currency strings by removing symbols and separators for calculations.
  • Floating-Point Precision Utilities - Manages numerical stability by rounding decimal numbers consistently to avoid binary precision errors.
  • Number Formatting - Transforms numbers into human-readable strings using language-specific thousands separators and precision.
  • Localised Number Displays - Transforms numeric values into strings using language-specific precision and thousands separators.
  • Template-Based Formatting - Constructs currency strings by injecting numbers into templates that define symbol placement and precision.
  • Financial Column Alignment - Formats lists of monetary values so that currency symbols and decimal points line up vertically in columns.
  • Monetary Column Alignment - Aligns money values using padding so that currency symbols and decimal places line up vertically across lists.
  • Locale Configuration Lookups - Uses predefined configuration sets to apply correct thousands separators and decimal points based on the chosen locale.
  • Numeric Padding Alignment - Calculates necessary whitespace for numeric strings to ensure currency symbols and decimals align vertically in lists.
  • JavaScript Utilities - Lightweight library for number and currency formatting.

Star history

Star history chart for openexchangerates/accounting.jsStar history chart for openexchangerates/accounting.js

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Accounting.js

Similar open-source projects, ranked by how many features they share with Accounting.js.
  • s-yadav/react-number-formats-yadav avatar

    s-yadav/react-number-format

    4,091View on GitHub↗

    This library provides a set of tools for formatting numeric values and masking user input within React components. It includes a customizable text input wrapper that synchronizes raw numeric values with formatted display strings and a specialized input masking component for enforcing string patterns and templates during data entry. The project features a localized number formatter that utilizes browser localization APIs to apply regional grouping, prefixes, and suffixes. It supports specialized financial formatting, such as displaying negative values in parentheses, and provides the ability t

    JavaScript
    View on GitHub↗4,091
  • jquery/globalizejquery avatar

    jquery/globalize

    4,840View on GitHub↗

    Globalize is a JavaScript internationalization library that uses Unicode Common Locale Data Repository JSON data to provide localization services. It functions as a locale-aware string formatter and a system for transforming dates, times, currencies, and numeric values into strings based on specific locale patterns. The library includes a precompiled localization engine that generates optimized formatting functions during the build process. This approach reduces runtime overhead and removes the requirement to load raw locale data at execution. The project covers a broad range of internationa

    JavaScript
    View on GitHub↗4,840
  • dinerojs/dinero.jsdinerojs avatar

    dinerojs/dinero.js

    6,758View on GitHub↗

    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 libra

    TypeScriptamountcurrencyimmutable
    View on GitHub↗6,758
  • globalizejs/globalizeglobalizejs avatar

    globalizejs/globalize

    4,838View on GitHub↗

    Globalize is a JavaScript internationalization library and Unicode CLDR localization engine. It provides a toolkit for formatting dates, numbers, and currencies using the Unicode Common Locale Data Repository and IANA time zones. The project features a build-time localization compiler that precompiles rules into static formatters to reduce runtime overhead and bundle size. It includes a system for parsing and formatting complex strings using the ICU MessageFormat syntax, supporting variables, pluralization, and gender inflections. The library covers a broad surface of localization capabiliti

    JavaScriptcldrcldr-datacldr-json
    View on GitHub↗4,838
See all 30 alternatives to Accounting.js→

Frequently asked questions

What does openexchangerates/accounting.js do?

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.

What are the main features of openexchangerates/accounting.js?

The main features of openexchangerates/accounting.js are: Locale-Aware Currency Formatting, Date and Number Parsing, Monetary Value Libraries, Regional Number Formatting, Decimal Rounding Utilities, Numeric String Parsers, Currency String Parsing, Floating-Point Precision Utilities.

What are some open-source alternatives to openexchangerates/accounting.js?

Open-source alternatives to openexchangerates/accounting.js include: s-yadav/react-number-format — This library provides a set of tools for formatting numeric values and masking user input within React components. It… jquery/globalize — Globalize is a JavaScript internationalization library that uses Unicode Common Locale Data Repository JSON data to… dinerojs/dinero.js — Dinero.js is a TypeScript-first library for creating, calculating, and formatting monetary values. It provides… globalizejs/globalize — Globalize is a JavaScript internationalization library and Unicode CLDR localization engine. It provides a toolkit for… inorganik/countup.js — CountUp.js is a lightweight JavaScript library that animates a numerical value from zero to a target number over a… mikemcl/big.js — big.js is an arbitrary-precision decimal library for JavaScript designed to perform exact decimal arithmetic. It…