23 lines
664 B
C#
23 lines
664 B
C#
namespace InnovEnergy.Lib.Units;
|
|
|
|
using T = Percent;
|
|
|
|
public readonly struct Percent
|
|
{
|
|
public static String Unit => "%";
|
|
public static String Symbol => "%"; // ??
|
|
|
|
public Percent(Decimal value) => Value = value;
|
|
|
|
// not generated
|
|
|
|
public Decimal Value { get; }
|
|
public override String ToString() => Value + Unit;
|
|
|
|
// scalar multiplication
|
|
public static Decimal operator *(Decimal scalar, T t) => scalar * t.Value / 100m;
|
|
public static Decimal operator *(T t, Decimal scalar) => scalar * t.Value / 100m;
|
|
|
|
// parallel
|
|
public static Percent operator |(T left, T right) => new T((left.Value + right.Value) / 2m);
|
|
} |