You can use the RegularExpression attribute. This will do the job.
[RegularExpression(@"^\d+.\d{0,2}$",
ErrorMessage = "It cannot have more than one decimal point value")]
public double PerUnitCost {get;set;}
Here In {0,2}
, 0 and 2 means minimum and maximum digits after decimal place. So change according to you requirement.