---
title: NumericExtensions
summary: API reference for NumericExtensions.
status: draft
owner: saif-docgen
last_reviewed: 2026-09-15
library: SAIF.Framework.Common
reference_type: package
---

# NumericExtensions

Numeric string testing and decimal precision helpers. ([BR-079](../../business-rules.md#br-079-the-isnumeric-test-is-32-bit-integer-bounded)) through [BR-081](../../business-rules.md#br-081-reducing-a-decimal's-precision-truncates)

## Purpose
- Numeric string testing and decimal precision helpers. ([BR-079](../../business-rules.md#br-079-the-isnumeric-test-is-32-bit-integer-bounded)) through [BR-081](../../business-rules.md#br-081-reducing-a-decimal's-precision-truncates)

## Context
- Namespace: `SAIF.Common.Extensions`
- Assembly/package: `SAIF.Framework.Common`

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| IsNumeric(this string value) | `public static bool IsNumeric(this string value)` | Tests via `int.TryParse`; bounded to `int` range, so a decimal value or one exceeding `Int32.MaxValue` reports false. ([BR-079](../../business-rules.md#br-079-the-isnumeric-test-is-32-bit-integer-bounded)) |
| Precision(this decimal value) | `public static int Precision(this decimal value)` | Reads the scale byte via `BitConverter.GetBytes(decimal.GetBits(decimalValue)[3])[2]` to return the declared decimal-place count. ([BR-080](../../business-rules.md#br-080-a-decimal's-precision-is-its-declared-scale%2C-read-from-the-scale-byte-extracted-via-bitconverter-and-decimal.getbits%2C-with-trailing-zeros-counted)) |
| TruncatePrecision(this decimal value, int precision) | `public static decimal TruncatePrecision(this decimal value, int precision)` | Truncates (does not round) `value` to `precision` decimal places. ([BR-081](../../business-rules.md#br-081-reducing-a-decimal's-precision-truncates)) |


## Sources
- `Common/SAIF.Common/Extensions/NumericExtensions.cs`
