An extensive math expression evaluator library for JavaScript and Node.js with units, functions, and constants.
Fcal is an extensive math expression evaluator library for JavaScript and Node.js that parses and evaluates mathematical expressions with support for units, variables, functions, and constants. It solves the problem of performing complex calculations with precision and unit awareness directly in code, eliminating the need for manual conversions or separate calculation tools.
JavaScript and Node.js developers who need to integrate mathematical expression evaluation into their applications, such as scientific calculators, engineering tools, or educational software.
Developers choose Fcal for its comprehensive feature set, including built-in unit conversions, percentage operations, and support for multiple number systems, all within a flexible and intuitive expression syntax.
Extensive math expression evaluator library for JavaScript and Node.js
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Automatically converts between physical units like meters, seconds, and Celsius, as shown in examples such as '20 minutes + 34 day in sec' and '23 C add 123 F'.
Supports variables, functions, percentages, and multiple number systems, enabling intuitive expressions like '23% of 1023' and operations in binary or hexadecimal.
Strict mode enforces type and unit consistency to catch errors early, demonstrated with FcalError providing detailed context for syntax issues.
Allows creating expression objects that can be re-evaluated with different variable values, improving efficiency for repeated calculations as shown in the 'Using expression' section.
Uses floating-point arithmetic, leading to small errors in calculations like 'sin(PI)' returning -1.6167204971158028306e-24 instead of exact zero, which may affect precision-sensitive applications.
Focused on evaluation only, it lacks features for symbolic manipulation, equation solving, or algebraic simplification, limiting use in advanced mathematical contexts.
As a niche library maintained by a single author, it has fewer community resources, tutorials, or integrations compared to established alternatives, and the README lacks depth on advanced customization.