This works:
class Item
{
public decimal Number { get; set; }
public override string ToString() => Number.ToString();
}
then later:
var item = new Item() { Number = 12m };
Console.WriteLine($"Item: {item}");
prints
Item: 12
But what I really want to do instead is:
Console.WriteLine($"Item: {item:C2}");
And somehow get
Item: $12.00
Anyone know if/how this could be done?
Thanks!
Console.WriteLine($"Item: {item:C2}");is the same asConsole.WriteLine("Item: {0:C2}", item);is the same asConsole.WriteLine("Item: " + item.ToString("C2"));(when such an overload is defined). Also, if what you want isitem'sNumberformatted as currency then you can ask for that specifically:Console.WriteLine($"Item: {item.Number:C2}");