十进制加倍

时间:2012-08-22 12:38:48

标签: c# visual-studio-2010 double decimal

我有这样的事情......

foreach (var pupilAvg in pupilsAvgs) {
    Report_TeachersPosition teacher = new Report_TeachersPosition();
    teacher.ORG_ID = pupilAvg.ORG_ID;
    teacher.Yearcode = pupilAvg.YearCode;
    teacher.Teacher_K5 = pupilAvg.PupilsAvg_K5 / ratio.ClassKto5;
    teacher.Teacher_6to8 = pupilAvg.PupilsAvg_6to8 / ratio.Class6to8;
    teacher.Teacher_9to12 = pupilAvg.PupilsAvg_9to12 / ratio.Class9to12;
    teacher.Teacher_EPSFTE = teacher.Teacher_K5 + teacher.Teacher_6to8 
                             + teacher.Teacher_9to12;
    teacher.Teacher_Adjusted_EPSSalary = teacher.Teacher_SAUEPSMatrix
                                         * teacher.Teacher_Ratio;
    teacher.Teacher_ElementarySalary = teacher.Teacher_Adjusted_EPSSalary 
                                       * entities.Report_Attending_Pupils_Avg.ToList()
                                       .Where(x => x.ORG_ID == pupilAvg.ORG_ID 
                                       && x.YearCode.Equals("" + yearCode))
                                       .FirstOrDefault().PupilsAvg_K8_Percentage;
    teacher.Teacher_SecondarySalary = teacher.Teacher_Adjusted_EPSSalary 
                                      * entities.Report_Attending_Pupils_Avg.ToList()
                                      .Where(x => x.ORG_ID == pupilAvg.ORG_ID 
                                      && x.YearCode.Equals("" + yearCode))
                                      .FirstOrDefault().PupilsAvg_9to12_Percentage;
}

但是class是......

public partial class Report_TeachersPosition {
        public int ORG_ID { get; set; }
        public Nullable<int> Yearcode { get; set; }
        public Nullable<decimal> Teacher_K5 { get; set; }
        public Nullable<decimal> Teacher_6to8 { get; set; }
        public Nullable<decimal> Teacher_K8 { get; set; }
        public Nullable<decimal> Teacher_9to12 { get; set; }
        public Nullable<decimal> Teacher_EPSFTE { get; set; }
        public Nullable<decimal> Teacher_ActualFTE { get; set; }
        public Nullable<decimal> Teacher_Ratio { get; set; }
        public Nullable<decimal> Teacher_TotalSalary { get; set; }
        public Nullable<decimal> Teacher_ElementarySalary { get; set; }
        public Nullable<decimal> Teacher_SecondarySalary { get; set; }
        public Nullable<decimal> Teacher_SAUEPSMatrix { get; set; }
        public Nullable<decimal> Teacher_Adjusted_EPSSalary { get; set; }
}

问题是......在class Report_TeachersPosition中,我拥有来自decimal的所有database个值。我希望他们在double。所以我将其更改为double并保存。但当我再次打开它时,它回到decimal ..我不知道为什么..有人可以帮忙????

2 个答案:

答案 0 :(得分:1)

如果您的数据库将值存储为decimal,那么每次从数据库中获取它们时,它们总是会以decimal的形式返回。

更重要的问题是为什么您希望值为double?如果它是用于显示目的,那么我建议你使用适当的格式。请注意,从decimal转换为double时,您将失去准确性。

答案 1 :(得分:0)

公共部分类Report_TeachersPosition是数据库生成的类吗? (我想是的)。您必须更改数据库表列的类型,然后重新生成模型类