Pavas.Tools.Math
1.0.0
dotnet add package Pavas.Tools.Math --version 1.0.0
NuGet\Install-Package Pavas.Tools.Math -Version 1.0.0
<PackageReference Include="Pavas.Tools.Math" Version="1.0.0" />
paket add Pavas.Tools.Math --version 1.0.0
#r "nuget: Pavas.Tools.Math, 1.0.0"
// Install Pavas.Tools.Math as a Cake Addin #addin nuget:?package=Pavas.Tools.Math&version=1.0.0 // Install Pavas.Tools.Math as a Cake Tool #tool nuget:?package=Pavas.Tools.Math&version=1.0.0
Pavas.Tools.Math Library
This project provides a configurable math library that performs basic arithmetic operations such as multiplication, addition, subtraction, division, and average calculations. It supports custom configuration for behaviors such as safe division by zero and decimal rounding.
Features
- Multiplication: Multiply a series of decimal numbers.
- Addition: Add a series of decimal numbers.
- Subtraction: Subtract a series of decimal numbers.
- Division: Divide a series of decimal numbers with optional safe division by zero handling.
- Average: Calculate the average of a series of numbers.
- Configurable options: Customize configuration
Installation
Install the package into your project. Pavas.Tools.Math
Usage
1. Dependency Injection Setup
The library can be injected into your project using a dependency injection manager.
using Microsoft.Extensions.DependencyInjection;
using Pavas.Tools.Math.Contracts;
using Pavas.Tools.Math.Options;
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
// Add MathTool with default options
services.AddMathTool();
// Or configure custom options
services.AddMathTool(options =>
{
options.Decimals = 4; // Set decimal rounding precision
options.SafeDivisionByZero = true; // Enable safe division by zero handling
});
}
}
2. Accessor Manager
The math tool can also be used without dependency injection by accessing it through an accessor.
using Pavas.Tools.Math;
var mathTool = MathToolAccessor.UseDefault(); // Using default options
// Or configure the math tool with custom options
var customMathTool = MathToolAccessor.WithOptions(options =>
{
options.Decimals = 3;
options.SafeDivisionByZero = true;
});
3. Arithmetic Operations
You can perform various arithmetic operations using the IMathTool
interface:
// Multiplication
decimal result = mathTool.Multiply(10m, 5m, 2m); // Result: 100.0000 (depending on decimal settings)
// Addition
decimal sum = mathTool.Addition(10m, 5m, 2m); // Result: 17.0000
// Subtraction
decimal difference = mathTool.Subtract(10m, 5m, 2m); // Result: 3.0000
// Division
decimal quotient = mathTool.Divide(100m, 2m); // Result: 50.0000
// Average
decimal average = mathTool.Average(10m, 20m, 30m); // Result: 20.0000
Configuration Options
The following options are configurable:
- Decimals: Controls the number of decimal places for rounding results. Default is 10.
- SafeDivisionByZero: If set to
true
, division by zero returnsdecimal.Zero
. If set tofalse
, it throws aDivideByZeroException
. Default isfalse
.
License
This project is licensed under the MIT License.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. 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. |
-
net8.0
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.0 | 98 | 9/20/2024 |