public static void Main()
var m1 = Money.FromDoubleValue(12.3);
Console.WriteLine(m1.ToString());
var m2 = Money.FromDoubleValue(14.3);
Console.WriteLine(m2.ToString());
var m3 = Money.FromStringValue("110.44");
Console.WriteLine(m3.ToString());
Console.WriteLine(m3.Data);
var m4 = Money.FromStringValue("1a1a0.44");
public double Data {get; private set;}
public static Money FromDoubleValue(double d){
public static Money FromStringValue(string val){
if (Double.TryParse(val, out temp))
throw new ArgumentException("Value " + val + " can't be converted to a double value! No Money object has been created!");
private Money(double val){
public override String ToString(){
return "Money with value: " + this.Data.ToString();