Table of Contents

Fiyat, KDV ve kartlar

using HeroKit.Decimals;

12.37m.RoundToStep(0.05m);          // 12.35
12.30m.ToPsychologicalPrice();      // 12.99
100m.AddPercent(18);                // 118
100m.IncludeVat(20);                // 120
120m.ExcludeVat(20);                // 100
120m.VatAmountFromGross(20);        // 20

Kartlar

using HeroKit.Banking;

"4111 1111 1111 1111".IsValidCardNumber(); // true (uzunluk ve Luhn)
"4111111111111111".GetCardBrand();         // CardBrand.Visa
troyCard.GetCardBrand();                   // CardBrand.Troy (önek 9792)
"4111111111111111".Mask();                 // "************1111"

Markalar: Visa, Mastercard, American Express, Discover, JCB ve Troy.

Para birimi biçimlendirme

using HeroKit.Globalization;

1234.5m.ToCurrencyString(Currencies.TurkishLira);                             // "₺1.234,50"
1234.5m.ToCurrencyString(Currencies.TurkishLira, CurrencyStyle.Abbreviation); // "1.234,50 TL"
1234.5m.ToCurrencyString(Currencies.TurkishLira, CurrencyStyle.IsoCode);      // "1.234,50 TRY"
123.50m.ToCurrencyWords(Currencies.TurkishLira);                              // "yüz yirmi üç Türk lirası elli kuruş"

Currency kendi simgesini, ayırıcılarını ve birim adlarını taşır; çıktı geçerli kültüre bağlı değildir. Diğer para birimleri için kendi örneğinizi oluşturun; örneğin new Currency("EUR", "€", Languages.Turkish) { UnitName = "Euro", SubunitName = "sent" }. Bkz. Ülkeler ve diller.

Tutar okuma

using HeroKit.Globalization;

"₺1.234,56".ToAmount(Currencies.TurkishLira);                     // 1234.56
"1.234,56 TL".TryToAmount(Currencies.TurkishLira, out decimal a); // true, 1234.56
"1.5".TryToAmount(Currencies.TurkishLira, out _);                 // false: "." binlik ayırıcıdır
"$1,234.56".ToAmount(Currencies.USDollar);                        // 1234.56

TryToAmount ve ToAmount, bir para biriminin ayırıcılarıyla yazılmış metni okur; simge, kısaltma ya da ISO kodu ve baştaki işaret isteğe bağlıdır. Binlik ayırıcılar tam kısmı üçer haneli gruplara bölmelidir; böylece yanlış yazılmış bir fiyat başka bir sayı olarak okunmaz, reddedilir. Makinenin kültürü kullanılmaz.

Barkodlar

using HeroKit.Barcodes;

"8691234567890".IsValidGtin(); // true (EAN-13; GS1 Türkiye önekleri 868 ve 869)
"96385074".IsValidGtin();      // true (EAN-8)

IsValidGtin, EAN-8, UPC-A, EAN-13 ve GTIN-14 numaralarını GS1 kontrol hanesiyle doğrular.

Yuvarlama

KDV yardımcıları yuvarlanmamış değer döner. Faturalarda olağan kural olan MidpointRounding.AwayFromZero ile yuvarlamak için decimals: 2 verin.