Humanizer 能满足您对操作和显示字符串、枚举、日期、时间、时间间隔、数字和量的所有 .NET 需求
Humanizer is a .NET library for turning strings, enums, dates, times, durations, numbers, quantities, and collections into human-friendly text.
dotnet add package Humanizer
Select your Humanizer version in the documentation site for version-correct package, framework, and API guidance.
…
In v4 previews, applications can provide the exact noun forms for a culture's CLDR cardinal categories:
var files = new PluralizationForms(
singular: "plik",
other: "pliku",
few: "pliki",
many: "plików");
if (files.TryPluralize(5m, CultureInfo.GetCultureInfo("pl"), out var noun))
Console.WriteLine(noun); // plików
TryPluralize uses the required cardinal rule for every supported culture and
returns false when the selected form was not supplied. TrySingularize
resolves any exact form in the same set. See
inflection and quantities
for examples.
HumanizeWithCase returns only the duration phrase; add any required
preposition yourself. Singular forms may include a locale-authored one-word
or article, and a locale may encode a count in the unit form. Locales and custom
components without verified case support throw NotSupportedException
instead of falling back to English.
V4 previews also provide opt-in decimal SI and binary IEC byte-size APIs:
var size = ByteSize.FromBytes(1_000_000);
Console.WriteLine(size.Format(ByteSizeUnitSystem.DecimalSi)); // 1 MB
Console.WriteLine(size.Format(ByteSizeUnitSystem.BinaryIec)); // 976.56 KiB
Legacy byte-size APIs keep their established unit factors. See byte sizes and rates for explicit formatting, parsing, composites, and rates.
The main library is in src/Humanizer, and its xUnit tests are in tests/Humanizer.Tests. Read the contribution guide before sending a change.
Humanizer is available under the MIT license.
暂无开放 Issues,或尚未同步最近议题。