> ## Documentation Index
> Fetch the complete documentation index at: https://easyaf.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# RatioInterval

> Represents a ratio value that occurs at regular time intervals, enabling conversion between different time periods. This class combines a base time interval ...

## Definition

**Assembly:** CloudNimble.EasyAF.Core.dll

**Namespace:** CloudNimble.EasyAF.Core

**Inheritance:** CloudNimble.EasyAF.Core.Interval\<T>

## Syntax

```csharp theme={"dark"}
CloudNimble.EasyAF.Core.RatioInterval<T>
```

## Summary

Represents a ratio value that occurs at regular time intervals, enabling conversion between different time periods.
This class combines a base time interval (from the `Interval`1\` class) with a ratio value to calculate
total ratio amounts across different time periods.

## Remarks

\<strong>Key Concepts:\</strong>

\<strong>Method Types:\</strong>

\<strong>Common Use Cases:\</strong>

## Examples

```csharp theme={"dark"}
// Example: 70% conversion rate every 2 weeks
var conversionInterval = new RatioInterval&lt;double&gt;(0.70, 2, IntervalType.Weeks);

// How many 2-week intervals are there per month?
decimal intervalsPerMonth = conversionInterval.PerMonth(); // ~2.17 intervals

// What's the total conversion ratio per month?
decimal totalConversionPerMonth = conversionInterval.RatioPerMonth(); // ~1.52 (0.70 × 2.17)

// Daily breakdown
decimal totalConversionPerDay = conversionInterval.RatioPerDay(); // ~0.05 (0.70 × 0.071)
```

## Constructors

### <Icon icon="hammer" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> .ctor

Initializes a new instance of the `RatioInterval`1\` class with default values.

#### Syntax

```csharp theme={"dark"}
public RatioInterval()
```

### <Icon icon="hammer" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> .ctor

Initializes a new instance of the `RatioInterval`1\` class with the specified interval value and type.

#### Syntax

```csharp theme={"dark"}
public RatioInterval(T value, CloudNimble.EasyAF.Core.IntervalType type)
```

#### Parameters

| Name    | Type                                   | Description                                                                 |
| ------- | -------------------------------------- | --------------------------------------------------------------------------- |
| `value` | `T`                                    | The duration of the interval.                                               |
| `type`  | `CloudNimble.EasyAF.Core.IntervalType` | The base unit that describes what the quantity of this interval references. |

### <Icon icon="hammer" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> .ctor

Initializes a new instance of the `RatioInterval`1\` class with the specified ratio, interval value, and type.

#### Syntax

```csharp theme={"dark"}
public RatioInterval(System.Decimal ratio, T value, CloudNimble.EasyAF.Core.IntervalType type)
```

#### Parameters

| Name    | Type                                   | Description                                                                 |
| ------- | -------------------------------------- | --------------------------------------------------------------------------- |
| `ratio` | `System.Decimal`                       | The decimal ratio value that is calculated over the given interval.         |
| `value` | `T`                                    | The duration of the interval.                                               |
| `type`  | `CloudNimble.EasyAF.Core.IntervalType` | The base unit that describes what the quantity of this interval references. |

### <Icon icon="hammer" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> .ctor <Badge color="gray">Inherited</Badge>

<Note>Inherited from `CloudNimble.EasyAF.Core.Interval<T>`</Note>

Creates a new instance of the `Interval`1\` class.

#### Syntax

```csharp theme={"dark"}
public Interval()
```

### <Icon icon="hammer" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> .ctor <Badge color="gray">Inherited</Badge>

<Note>Inherited from `CloudNimble.EasyAF.Core.Interval<T>`</Note>

Creates a new instance of the `Interval`1\` class.

#### Syntax

```csharp theme={"dark"}
public Interval(T value, CloudNimble.EasyAF.Core.IntervalType type)
```

#### Parameters

| Name    | Type                                   | Description                                                                 |
| ------- | -------------------------------------- | --------------------------------------------------------------------------- |
| `value` | `T`                                    | The duration of the interval.                                               |
| `type`  | `CloudNimble.EasyAF.Core.IntervalType` | The base unit that describes what the quantity of this Interval references. |

### <Icon icon="hammer" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> .ctor <Badge color="gray">Inherited</Badge>

<Note>Inherited from `object`</Note>

#### Syntax

```csharp theme={"dark"}
public Object()
```

## Properties

### <Icon icon="tag" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> Ratio

Gets or sets the decimal ratio value that is calculated over the given interval.
Can represent a ratio, rate, or other decimal value per time period.

#### Syntax

```csharp theme={"dark"}
public System.Decimal Ratio { get; set; }
```

#### Property Value

Type: `System.Decimal`

### <Icon icon="tag" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> Type <Badge color="gray">Inherited</Badge>

<Note>Inherited from `CloudNimble.EasyAF.Core.Interval<T>`</Note>

The base unit that describes what the quantity of this Interval references.

#### Syntax

```csharp theme={"dark"}
public CloudNimble.EasyAF.Core.IntervalType Type { get; set; }
```

#### Property Value

Type: `CloudNimble.EasyAF.Core.IntervalType`

### <Icon icon="tag" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> Value <Badge color="gray">Inherited</Badge>

<Note>Inherited from `CloudNimble.EasyAF.Core.Interval<T>`</Note>

The duration of the Interval.

#### Syntax

```csharp theme={"dark"}
public T Value { get; set; }
```

#### Property Value

Type: `T`

## Methods

### <Icon icon="code-fork" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> Equals <Badge color="gray">Inherited</Badge> <Badge color="orange">Virtual</Badge>

<Note>Inherited from `object`</Note>

#### Syntax

```csharp theme={"dark"}
public virtual bool Equals(object obj)
```

#### Parameters

| Name  | Type      | Description |
| ----- | --------- | ----------- |
| `obj` | `object?` | -           |

#### Returns

Type: `bool`

### <Icon icon="thumbtack" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> Equals <Badge color="gray">Inherited</Badge>

<Note>Inherited from `object`</Note>

#### Syntax

```csharp theme={"dark"}
public static bool Equals(object objA, object objB)
```

#### Parameters

| Name   | Type      | Description |
| ------ | --------- | ----------- |
| `objA` | `object?` | -           |
| `objB` | `object?` | -           |

#### Returns

Type: `bool`

### <Icon icon="code-fork" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> GetHashCode <Badge color="gray">Inherited</Badge> <Badge color="orange">Virtual</Badge>

<Note>Inherited from `object`</Note>

#### Syntax

```csharp theme={"dark"}
public virtual int GetHashCode()
```

#### Returns

Type: `int`

### <Icon icon="function" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> GetType <Badge color="gray">Inherited</Badge>

<Note>Inherited from `object`</Note>

#### Syntax

```csharp theme={"dark"}
public System.Type GetType()
```

#### Returns

Type: `System.Type`

### <Icon icon="function" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> MemberwiseClone <Badge color="gray">Inherited</Badge>

<Note>Inherited from `object`</Note>

#### Syntax

```csharp theme={"dark"}
protected internal object MemberwiseClone()
```

#### Returns

Type: `object`

### <Icon icon="code-fork" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> PerDay <Badge color="gray">Inherited</Badge> <Badge color="orange">Virtual</Badge>

<Note>Inherited from `CloudNimble.EasyAF.Core.Interval<T>`</Note>

Given this `Interval`1\` instance, calculates how many occurrences will happen per day.

#### Syntax

```csharp theme={"dark"}
public virtual System.Decimal PerDay()
```

#### Returns

Type: `System.Decimal`
The number of occurrences per day as a decimal value.

#### Exceptions

| Exception              | Description                                                                                             |
| ---------------------- | ------------------------------------------------------------------------------------------------------- |
| `InvalidCastException` | Thrown if *T* is not convertible to a [Decimal](https://learn.microsoft.com/dotnet/api/system.decimal). |

### <Icon icon="code-fork" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> PerDay <Badge color="gray">Inherited</Badge> <Badge color="orange">Virtual</Badge>

<Note>Inherited from `CloudNimble.EasyAF.Core.Interval<T>`</Note>

Given this `Interval`1\` instance and a quantity, calculates the total output per day.

#### Syntax

```csharp theme={"dark"}
public virtual System.Decimal PerDay(System.Decimal quantity)
```

#### Parameters

| Name       | Type             | Description                                         |
| ---------- | ---------------- | --------------------------------------------------- |
| `quantity` | `System.Decimal` | The quantity to multiply by the interval frequency. |

#### Returns

Type: `System.Decimal`
The total output per day as a decimal value.

#### Exceptions

| Exception              | Description                                                                                             |
| ---------------------- | ------------------------------------------------------------------------------------------------------- |
| `InvalidCastException` | Thrown if *T* is not convertible to a [Decimal](https://learn.microsoft.com/dotnet/api/system.decimal). |

#### Examples

```csharp theme={"dark"}
// Widget production: 1 widget every 1.5 hours, total from 100 units of material per day
var production = new Interval&lt;double&gt;(1.5, IntervalType.Hours);
decimal totalPerDay = production.PerDay(100); // 1600 widgets per day (16 * 100)
```

### <Icon icon="code-fork" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> PerHour <Badge color="gray">Inherited</Badge> <Badge color="orange">Virtual</Badge>

<Note>Inherited from `CloudNimble.EasyAF.Core.Interval<T>`</Note>

Given this `Interval`1\` instance, calculates how many occurrences will happen per hour.

#### Syntax

```csharp theme={"dark"}
public virtual System.Decimal PerHour()
```

#### Returns

Type: `System.Decimal`
The number of occurrences per hour as a decimal value.

#### Exceptions

| Exception              | Description                                                                                             |
| ---------------------- | ------------------------------------------------------------------------------------------------------- |
| `InvalidCastException` | Thrown if *T* is not convertible to a [Decimal](https://learn.microsoft.com/dotnet/api/system.decimal). |

### <Icon icon="code-fork" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> PerHour <Badge color="gray">Inherited</Badge> <Badge color="orange">Virtual</Badge>

<Note>Inherited from `CloudNimble.EasyAF.Core.Interval<T>`</Note>

Given this `Interval`1\` instance and a quantity, calculates the total output per hour.

#### Syntax

```csharp theme={"dark"}
public virtual System.Decimal PerHour(System.Decimal quantity)
```

#### Parameters

| Name       | Type             | Description                                         |
| ---------- | ---------------- | --------------------------------------------------- |
| `quantity` | `System.Decimal` | The quantity to multiply by the interval frequency. |

#### Returns

Type: `System.Decimal`
The total output per hour as a decimal value.

#### Exceptions

| Exception              | Description                                                                                             |
| ---------------------- | ------------------------------------------------------------------------------------------------------- |
| `InvalidCastException` | Thrown if *T* is not convertible to a [Decimal](https://learn.microsoft.com/dotnet/api/system.decimal). |

#### Examples

```csharp theme={"dark"}
// Widget production: 1 widget every 1.5 hours, total from 100 units of material per hour
var production = new Interval&lt;double&gt;(1.5, IntervalType.Hours);
decimal totalPerHour = production.PerHour(100); // 66.67 widgets per hour (1/1.5 * 100)
```

### <Icon icon="code-fork" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> PerMinute <Badge color="gray">Inherited</Badge> <Badge color="orange">Virtual</Badge>

<Note>Inherited from `CloudNimble.EasyAF.Core.Interval<T>`</Note>

Given this `Interval`1\` instance, calculates how many occurrences will happen per minute.

#### Syntax

```csharp theme={"dark"}
public virtual System.Decimal PerMinute()
```

#### Returns

Type: `System.Decimal`
The number of occurrences per minute as a decimal value.

#### Exceptions

| Exception              | Description                                                                                             |
| ---------------------- | ------------------------------------------------------------------------------------------------------- |
| `InvalidCastException` | Thrown if *T* is not convertible to a [Decimal](https://learn.microsoft.com/dotnet/api/system.decimal). |

#### Remarks

If you need this as a whole number, wrap the result in [Decimal)](https://learn.microsoft.com/dotnet/api/system.math.floor\(system.decimal\)).

### <Icon icon="code-fork" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> PerMinute <Badge color="gray">Inherited</Badge> <Badge color="orange">Virtual</Badge>

<Note>Inherited from `CloudNimble.EasyAF.Core.Interval<T>`</Note>

Given this `Interval`1\` instance and a quantity, calculates the total output per minute.

#### Syntax

```csharp theme={"dark"}
public virtual System.Decimal PerMinute(System.Decimal quantity)
```

#### Parameters

| Name       | Type             | Description                                         |
| ---------- | ---------------- | --------------------------------------------------- |
| `quantity` | `System.Decimal` | The quantity to multiply by the interval frequency. |

#### Returns

Type: `System.Decimal`
The total output per minute as a decimal value.

#### Exceptions

| Exception              | Description                                                                                             |
| ---------------------- | ------------------------------------------------------------------------------------------------------- |
| `InvalidCastException` | Thrown if *T* is not convertible to a [Decimal](https://learn.microsoft.com/dotnet/api/system.decimal). |

#### Examples

```csharp theme={"dark"}
// Widget production: 1 widget every 90 minutes, total from 100 units of material per minute
var production = new Interval&lt;int&gt;(90, IntervalType.Minutes);
decimal totalPerMinute = production.PerMinute(100); // 1.11 widgets per minute (1/90 * 100)
```

### <Icon icon="code-fork" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> PerMonth <Badge color="gray">Inherited</Badge> <Badge color="orange">Virtual</Badge>

<Note>Inherited from `CloudNimble.EasyAF.Core.Interval<T>`</Note>

Given this `Interval`1\` instance, calculates how many occurrences will happen per month.

#### Syntax

```csharp theme={"dark"}
public virtual System.Decimal PerMonth()
```

#### Returns

Type: `System.Decimal`
The number of occurrences per month as a decimal value.

#### Exceptions

| Exception              | Description                                                                                             |
| ---------------------- | ------------------------------------------------------------------------------------------------------- |
| `InvalidCastException` | Thrown if *T* is not convertible to a [Decimal](https://learn.microsoft.com/dotnet/api/system.decimal). |

### <Icon icon="code-fork" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> PerMonth <Badge color="gray">Inherited</Badge> <Badge color="orange">Virtual</Badge>

<Note>Inherited from `CloudNimble.EasyAF.Core.Interval<T>`</Note>

Given this `Interval`1\` instance and a quantity, calculates the total output per month.

#### Syntax

```csharp theme={"dark"}
public virtual System.Decimal PerMonth(System.Decimal quantity)
```

#### Parameters

| Name       | Type             | Description                                         |
| ---------- | ---------------- | --------------------------------------------------- |
| `quantity` | `System.Decimal` | The quantity to multiply by the interval frequency. |

#### Returns

Type: `System.Decimal`
The total output per month as a decimal value.

#### Exceptions

| Exception              | Description                                                                                             |
| ---------------------- | ------------------------------------------------------------------------------------------------------- |
| `InvalidCastException` | Thrown if *T* is not convertible to a [Decimal](https://learn.microsoft.com/dotnet/api/system.decimal). |

#### Examples

```csharp theme={"dark"}
// Widget production: 1 widget every 3 days, total from 200 units of material per month
var production = new Interval&lt;int&gt;(3, IntervalType.Days);
decimal totalPerMonth = production.PerMonth(200); // 2000 widgets per month (10 * 200)
```

### <Icon icon="code-fork" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> PerWeek <Badge color="gray">Inherited</Badge> <Badge color="orange">Virtual</Badge>

<Note>Inherited from `CloudNimble.EasyAF.Core.Interval<T>`</Note>

Given this `Interval`1\` instance, calculates how many occurrences will happen per week.

#### Syntax

```csharp theme={"dark"}
public virtual System.Decimal PerWeek()
```

#### Returns

Type: `System.Decimal`
The number of occurrences per week as a decimal value.

#### Exceptions

| Exception              | Description                                                                                             |
| ---------------------- | ------------------------------------------------------------------------------------------------------- |
| `InvalidCastException` | Thrown if *T* is not convertible to a [Decimal](https://learn.microsoft.com/dotnet/api/system.decimal). |

### <Icon icon="code-fork" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> PerWeek <Badge color="gray">Inherited</Badge> <Badge color="orange">Virtual</Badge>

<Note>Inherited from `CloudNimble.EasyAF.Core.Interval<T>`</Note>

Given this `Interval`1\` instance and a quantity, calculates the total output per week.

#### Syntax

```csharp theme={"dark"}
public virtual System.Decimal PerWeek(System.Decimal quantity)
```

#### Parameters

| Name       | Type             | Description                                         |
| ---------- | ---------------- | --------------------------------------------------- |
| `quantity` | `System.Decimal` | The quantity to multiply by the interval frequency. |

#### Returns

Type: `System.Decimal`
The total output per week as a decimal value.

#### Exceptions

| Exception              | Description                                                                                             |
| ---------------------- | ------------------------------------------------------------------------------------------------------- |
| `InvalidCastException` | Thrown if *T* is not convertible to a [Decimal](https://learn.microsoft.com/dotnet/api/system.decimal). |

#### Examples

```csharp theme={"dark"}
// Widget production: 1 widget every 2 days, total from 50 units of material per week
var production = new Interval&lt;int&gt;(2, IntervalType.Days);
decimal totalPerWeek = production.PerWeek(50); // 175 widgets per week (3.5 * 50)
```

### <Icon icon="code-fork" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> PerYear <Badge color="gray">Inherited</Badge> <Badge color="orange">Virtual</Badge>

<Note>Inherited from `CloudNimble.EasyAF.Core.Interval<T>`</Note>

Given this `Interval`1\` instance, calculates how many occurrences will happen per year.

#### Syntax

```csharp theme={"dark"}
public virtual System.Decimal PerYear()
```

#### Returns

Type: `System.Decimal`
The number of occurrences per year as a decimal value.

#### Exceptions

| Exception              | Description                                                                                             |
| ---------------------- | ------------------------------------------------------------------------------------------------------- |
| `InvalidCastException` | Thrown if *T* is not convertible to a [Decimal](https://learn.microsoft.com/dotnet/api/system.decimal). |

### <Icon icon="code-fork" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> PerYear <Badge color="gray">Inherited</Badge> <Badge color="orange">Virtual</Badge>

<Note>Inherited from `CloudNimble.EasyAF.Core.Interval<T>`</Note>

Given this `Interval`1\` instance and a quantity, calculates the total output per year.

#### Syntax

```csharp theme={"dark"}
public virtual System.Decimal PerYear(System.Decimal quantity)
```

#### Parameters

| Name       | Type             | Description                                         |
| ---------- | ---------------- | --------------------------------------------------- |
| `quantity` | `System.Decimal` | The quantity to multiply by the interval frequency. |

#### Returns

Type: `System.Decimal`
The total output per year as a decimal value.

#### Exceptions

| Exception              | Description                                                                                             |
| ---------------------- | ------------------------------------------------------------------------------------------------------- |
| `InvalidCastException` | Thrown if *T* is not convertible to a [Decimal](https://learn.microsoft.com/dotnet/api/system.decimal). |

#### Examples

```csharp theme={"dark"}
// Widget production: 1 widget every 1 week, total from 500 units of material per year
var production = new Interval&lt;int&gt;(1, IntervalType.Weeks);
decimal totalPerYear = production.PerYear(500); // 26071 widgets per year (52.14 * 500)
```

### <Icon icon="function" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> RatioPerDay

Calculates the total ratio value per day based on the interval and ratio.
This method multiplies the interval frequency (how many intervals occur per day) by the ratio value.

#### Syntax

```csharp theme={"dark"}
public System.Decimal RatioPerDay()
```

#### Returns

Type: `System.Decimal`
The total ratio value per day as a decimal.

#### Examples

```csharp theme={"dark"}
// 0.75 ratio every 6 hours = 0.75 * 4 = 3.0 ratio per day
var interval = new RatioInterval&lt;double&gt;(0.75, 6, IntervalType.Hours);
decimal ratioPerDay = interval.RatioPerDay();
```

### <Icon icon="function" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> RatioPerDay

Calculates the total ratio value per day for a given quantity based on the interval and ratio.

#### Syntax

```csharp theme={"dark"}
public System.Decimal RatioPerDay(System.Decimal quantity)
```

#### Parameters

| Name       | Type             | Description                                     |
| ---------- | ---------------- | ----------------------------------------------- |
| `quantity` | `System.Decimal` | The quantity to apply the ratio calculation to. |

#### Returns

Type: `System.Decimal`
The total ratio value per day as a decimal.

#### Examples

```csharp theme={"dark"}
// 70% conversion every month, total conversions from 30 customers per day
var conversion = new RatioInterval&lt;double&gt;(0.70m, 1, IntervalType.Months);
decimal conversionsPerDay = conversion.RatioPerDay(30); // ~0.69 conversions per day
```

### <Icon icon="function" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> RatioPerHour

Calculates the total ratio value per hour based on the interval and ratio.
This method multiplies the interval frequency (how many intervals occur per hour) by the ratio value.

#### Syntax

```csharp theme={"dark"}
public System.Decimal RatioPerHour()
```

#### Returns

Type: `System.Decimal`
The total ratio value per hour as a decimal.

#### Examples

```csharp theme={"dark"}
// 0.7 ratio every 1.5 hours = 0.7 * (60/90) = 0.467 ratio per hour
var interval = new RatioInterval&lt;double&gt;(0.7, 1.5, IntervalType.Hours);
decimal ratioPerHour = interval.RatioPerHour();
```

### <Icon icon="function" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> RatioPerHour

Calculates the total ratio value per hour for a given quantity based on the interval and ratio.

#### Syntax

```csharp theme={"dark"}
public System.Decimal RatioPerHour(System.Decimal quantity)
```

#### Parameters

| Name       | Type             | Description                                     |
| ---------- | ---------------- | ----------------------------------------------- |
| `quantity` | `System.Decimal` | The quantity to apply the ratio calculation to. |

#### Returns

Type: `System.Decimal`
The total ratio value per hour as a decimal.

#### Examples

```csharp theme={"dark"}
// 70% conversion every 1.5 hours, total conversions from 100 leads per hour
var conversion = new RatioInterval&lt;double&gt;(0.70m, 1.5, IntervalType.Hours);
decimal conversionsPerHour = conversion.RatioPerHour(100); // ~46.67 conversions per hour
```

### <Icon icon="function" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> RatioPerMinute

Calculates the total ratio value per minute based on the interval and ratio.
This method multiplies the interval frequency (how many intervals occur per minute) by the ratio value.

#### Syntax

```csharp theme={"dark"}
public System.Decimal RatioPerMinute()
```

#### Returns

Type: `System.Decimal`
The total ratio value per minute as a decimal.

#### Examples

```csharp theme={"dark"}
// 0.5 ratio every 2 hours = 0.5 * (60/120) = 0.25 ratio per minute
var interval = new RatioInterval&lt;double&gt;(0.5, 2, IntervalType.Hours);
decimal ratioPerMinute = interval.RatioPerMinute();
```

### <Icon icon="function" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> RatioPerMinute

Calculates the total ratio value per minute for a given quantity based on the interval and ratio.

#### Syntax

```csharp theme={"dark"}
public System.Decimal RatioPerMinute(System.Decimal quantity)
```

#### Parameters

| Name       | Type             | Description                                     |
| ---------- | ---------------- | ----------------------------------------------- |
| `quantity` | `System.Decimal` | The quantity to apply the ratio calculation to. |

#### Returns

Type: `System.Decimal`
The total ratio value per minute as a decimal.

#### Examples

```csharp theme={"dark"}
// 70% conversion every month, total conversions from 1000 leads per minute
var conversion = new RatioInterval&lt;double&gt;(0.70m, 1, IntervalType.Months);
decimal conversionsPerMinute = conversion.RatioPerMinute(1000); // ~0.016 conversions per minute
```

### <Icon icon="function" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> RatioPerMonth

Calculates the total ratio value per month based on the interval and ratio.
This method multiplies the interval frequency (how many intervals occur per month) by the ratio value.

#### Syntax

```csharp theme={"dark"}
public System.Decimal RatioPerMonth()
```

#### Returns

Type: `System.Decimal`
The total ratio value per month as a decimal.

#### Examples

```csharp theme={"dark"}
// 0.6 ratio every 1 week = 0.6 * 4.34 = 2.6 ratio per month
var interval = new RatioInterval&lt;double&gt;(0.6, 1, IntervalType.Weeks);
decimal ratioPerMonth = interval.RatioPerMonth();
```

### <Icon icon="function" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> RatioPerMonth

Calculates the total ratio value per month for a given quantity based on the interval and ratio.

#### Syntax

```csharp theme={"dark"}
public System.Decimal RatioPerMonth(System.Decimal quantity)
```

#### Parameters

| Name       | Type             | Description                                     |
| ---------- | ---------------- | ----------------------------------------------- |
| `quantity` | `System.Decimal` | The quantity to apply the ratio calculation to. |

#### Returns

Type: `System.Decimal`
The total ratio value per month as a decimal.

#### Examples

```csharp theme={"dark"}
// 60% conversion every week, total conversions from 100 leads per month
var conversion = new RatioInterval&lt;double&gt;(0.60m, 1, IntervalType.Weeks);
decimal conversionsPerMonth = conversion.RatioPerMonth(100); // 260 conversions per month
```

### <Icon icon="function" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> RatioPerWeek

Calculates the total ratio value per week based on the interval and ratio.
This method multiplies the interval frequency (how many intervals occur per week) by the ratio value.

#### Syntax

```csharp theme={"dark"}
public System.Decimal RatioPerWeek()
```

#### Returns

Type: `System.Decimal`
The total ratio value per week as a decimal.

#### Examples

```csharp theme={"dark"}
// 0.8 ratio every 2 days = 0.8 * 3.5 = 2.8 ratio per week
var interval = new RatioInterval&lt;double&gt;(0.8, 2, IntervalType.Days);
decimal ratioPerWeek = interval.RatioPerWeek();
```

### <Icon icon="function" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> RatioPerWeek

Calculates the total ratio value per week for a given quantity based on the interval and ratio.

#### Syntax

```csharp theme={"dark"}
public System.Decimal RatioPerWeek(System.Decimal quantity)
```

#### Parameters

| Name       | Type             | Description                                     |
| ---------- | ---------------- | ----------------------------------------------- |
| `quantity` | `System.Decimal` | The quantity to apply the ratio calculation to. |

#### Returns

Type: `System.Decimal`
The total ratio value per week as a decimal.

#### Examples

```csharp theme={"dark"}
// 80% conversion every 2 days, total conversions from 50 leads per week
var conversion = new RatioInterval&lt;double&gt;(0.80m, 2, IntervalType.Days);
decimal conversionsPerWeek = conversion.RatioPerWeek(50); // 140 conversions per week
```

### <Icon icon="function" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> RatioPerYear

Calculates the total ratio value per year based on the interval and ratio.
This method multiplies the interval frequency (how many intervals occur per year) by the ratio value.

#### Syntax

```csharp theme={"dark"}
public System.Decimal RatioPerYear()
```

#### Returns

Type: `System.Decimal`
The total ratio value per year as a decimal.

#### Examples

```csharp theme={"dark"}
// 0.9 ratio every 3 months = 0.9 * 4 = 3.6 ratio per year
var interval = new RatioInterval&lt;double&gt;(0.9, 3, IntervalType.Months);
decimal ratioPerYear = interval.RatioPerYear();
```

### <Icon icon="function" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> RatioPerYear

Calculates the total ratio value per year for a given quantity based on the interval and ratio.

#### Syntax

```csharp theme={"dark"}
public System.Decimal RatioPerYear(System.Decimal quantity)
```

#### Parameters

| Name       | Type             | Description                                     |
| ---------- | ---------------- | ----------------------------------------------- |
| `quantity` | `System.Decimal` | The quantity to apply the ratio calculation to. |

#### Returns

Type: `System.Decimal`
The total ratio value per year as a decimal.

#### Examples

```csharp theme={"dark"}
// 90% conversion every 3 months, total conversions from 1000 leads per year
var conversion = new RatioInterval&lt;double&gt;(0.90m, 3, IntervalType.Months);
decimal conversionsPerYear = conversion.RatioPerYear(1000); // 3600 conversions per year
```

### <Icon icon="thumbtack" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> ReferenceEquals <Badge color="gray">Inherited</Badge>

<Note>Inherited from `object`</Note>

#### Syntax

```csharp theme={"dark"}
public static bool ReferenceEquals(object objA, object objB)
```

#### Parameters

| Name   | Type      | Description |
| ------ | --------- | ----------- |
| `objA` | `object?` | -           |
| `objB` | `object?` | -           |

#### Returns

Type: `bool`

### <Icon icon="code-merge" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> ToString <Badge color="blue">Override</Badge>

<Note>Inherited from `CloudNimble.EasyAF.Core.Interval<T>`</Note>

#### Syntax

```csharp theme={"dark"}
public override string ToString()
```

#### Returns

Type: `string`

### <Icon icon="code-fork" iconType="duotone" color="#E0EC32" size={24} className="mr-2" /> ToString <Badge color="gray">Inherited</Badge> <Badge color="orange">Virtual</Badge>

<Note>Inherited from `object`</Note>

#### Syntax

```csharp theme={"dark"}
public virtual string ToString()
```

#### Returns

Type: `string?`
