以下是我的属性,如果我们输入45,那么它会追加45.00,但之后它会返回45,因为该值是从字符串转换而来的。那么我能达到这个目标的最简单方法是什么?如果他们输入45,那么它将在值域中产生45.00;十进制舍入问题
public decimal Length
{
get { if (this is Detail)
return ((this as Detail).Length.ToString() == string.Empty)
? 0 : (this as Detail).Length; else return 0; }
set
{
if (this is Detail)
{
string val = string.Empty;
if (!value.ToString().Contains("."))
{
val = string.Format("{0}{1}", value.ToString(), ".00");
value =Math.Round(Convert.ToDecimal(val), 2);
}
else
value = Math.Round(value, 2);
(this as Detail).Length = (value.ToString().Trim() ==
string.Empty) ? 0 : value;
}
}
}
为什么你的财产检查这是什么?似乎你在抽象层面有更广泛的问题。 –
这是在数据层和它的WinForms文本框绑定原始属性从实体框架来。 –