Math-Expression-Evaluator
1.4.0
dotnet add package Math-Expression-Evaluator --version 1.4.0
NuGet\Install-Package Math-Expression-Evaluator -Version 1.4.0
<PackageReference Include="Math-Expression-Evaluator" Version="1.4.0" />
<PackageVersion Include="Math-Expression-Evaluator" Version="1.4.0" />
<PackageReference Include="Math-Expression-Evaluator" />
paket add Math-Expression-Evaluator --version 1.4.0
#r "nuget: Math-Expression-Evaluator, 1.4.0"
#addin nuget:?package=Math-Expression-Evaluator&version=1.4.0
#tool nuget:?package=Math-Expression-Evaluator&version=1.4.0
Math Expression Evaluator
Sponsors
Entity Framework Extensions and Dapper Plus are major sponsors and are proud to contribute to the development of Math Expression Evaluator.
Usage
Math Expression Evaluator is a library for evaluating simple mathematical expressions. It supports simple expressions such as 2.5+5.9
, 17.89-2.47+7.16
, 5/2/2+1.5*3+4.58
, expressions with parentheses (((9-6/2)*2-4)/2-6-1)/(2+24/(2+4))
and expressions with variables:
var a = 6;
var b = 4.32m;
var c = 24.15m;
Assert.That(engine.Evaluate("(((9-a/2)*2-b)/2-a-1)/(2+c/(2+4))", new { a, b, c}),
Is.EqualTo((((9 - a / 2) * 2 - b) / 2 - a - 1) / (2 + c / (2 + 4))));
It is also possible to specify variables by using named arguments like this:
dynamic dynamicEngine = new ExpressionEvaluator();
var a = 6;
var b = 4.5m;
var c = 2.6m;
Assert.That(dynamicEngine.Evaluate("(c+b)*a", a: 6, b: 4.5, c: 2.6),
Is.EqualTo((c + b) * a));
Installation
dotnet add package Math-Expression-Evaluator
User Feedback
From https://stackoverflow.com/questions/50722680/methods-for-dynamically-creating-an-array-in-c-sharp
DavidG
Can't decide if this library is evil, genius or evil genius...
xanatos
That library is using high level magic... Very high level 😃
The class is dynamic and is handling in a dynamic way the use of the method... fascinating
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
The library now targets .NET Standard 2.0