SciNotation.NET
1.0.4
dotnet add package SciNotation.NET --version 1.0.4
NuGet\Install-Package SciNotation.NET -Version 1.0.4
<PackageReference Include="SciNotation.NET" Version="1.0.4" />
<PackageVersion Include="SciNotation.NET" Version="1.0.4" />
<PackageReference Include="SciNotation.NET" />
paket add SciNotation.NET --version 1.0.4
#r "nuget: SciNotation.NET, 1.0.4"
#:package SciNotation.NET@1.0.4
#addin nuget:?package=SciNotation.NET&version=1.0.4
#tool nuget:?package=SciNotation.NET&version=1.0.4
SciNotation.NET
A simple, zero-dependency .NET library providing extension methods to format numeric values and strings into human-readable scientific notation (mantissa � 10^exponent).
Features
- Universal support: works with
string
,double
,float
,decimal
, and all integer types. - Culture-aware: honors
IFormatProvider
for decimal separators and number formatting. - Special values: gracefully handles
0
,NaN
,Infinity
,-Infinity
, and subnormal doubles. - Configurable precision: specify the number of decimal places in the mantissa.
Installation
Install via the .NET CLI:
dotnet add package SciNotation.NET
Or via the Package Manager Console:
Install-Package SciNotation.NET
Usage
Formatting a Numeric Value
using SciNotation.NET;
class Program
{
static void Main()
{
double value = 12345.6789;
// Format with 4 decimal places in the mantissa
string scientific = value.ToScientificNotation(decimals: 4);
Console.WriteLine(scientific);
// Output: "1.2346 � 10^4"
}
}
Formatting a String Input
using SciNotation.NET;
string input = "0.00000123";
string result = input.ToScientificNotation(decimals: 2);
// result == "1.23 � 10^-6"
Culture-Specific Formatting
using System.Globalization;
using SciNotation.NET;
var culture = new CultureInfo("de-DE");
string result = (1234.56).ToScientificNotation(decimals: 2, provider: culture);
// result == "1,23 � 10^3"
API Reference
Method | Description |
---|---|
object.ToScientificNotation(int decimals = 6, IFormatProvider? provider = null) |
Formats any supported type (string , double , float , decimal , integer) |
double.ToScientificNotation(int decimals = 6, IFormatProvider? provider = null) |
Formats a double value into scientific notation. |
float.ToScientificNotation(int decimals = 6, IFormatProvider? provider = null) |
Formats a float value into scientific notation. |
decimal.ToScientificNotation(int decimals = 6, IFormatProvider? provider = null) |
Formats a decimal value into scientific notation. |
string.ToScientificNotation(int decimals = 6, IFormatProvider? provider = null) |
Parses and formats a numeric string into scientific notation. |
Building from Source
Clone the repository:
git clone https://github.com/datzfain/SciNotation.NET.git cd SciNotation.NET/SciNotation.NET
Restore and build:
dotnet restore dotnet build --configuration Release
Running Tests
Navigate to the test project and run:
cd SciNotation.NET.Tests
dotnet test --configuration Release
Contributing
Contributions are welcome! To contribute:
- Fork the repository.
- Create a new branch:
git checkout -b feature/YourFeature
. - Implement your changes and add tests.
- Commit your work:
git commit -m "Add feature X"
. - Push to your fork and open a Pull Request.
Please follow the existing code style and include unit tests for new functionality.
License
This project is licensed under the MIT License.
<sub>Maintained by datzfain. Feel free to open issues or PRs!</sub>
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. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.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 is compatible. 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. |
-
.NETFramework 4.8
- No dependencies.
-
.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.
Version | Downloads | Last Updated |
---|---|---|
1.0.4 | 291 | 6/12/2025 |