Refactor: Enhance ToString method for TValue struct to handle special double values

This commit is contained in:
Miha Kralj
2025-12-29 00:02:38 -08:00
parent a82f6b7949
commit 43ce6e63e4
+12 -2
View File
@@ -26,5 +26,15 @@ public readonly record struct TValue(long Time, double Value)
public static implicit operator DateTime(TValue tv) => new(tv.Time, DateTimeKind.Utc);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public override string ToString() => $"[{AsDateTime:yyyy-MM-dd HH:mm:ss}, {Value:F2}]";
}
public override string ToString()
{
string valueStr = Value switch
{
double.PositiveInfinity => ((char)0x221E).ToString(),
double.NegativeInfinity => "-" + (char)0x221E,
_ when double.IsNaN(Value) => "NaN",
_ => Value.ToString("F2")
};
return $"[{AsDateTime:yyyy-MM-dd HH:mm:ss}, {valueStr}]";
}
}