为什么我的数字是自己的四舍五入

时间:2012-08-01 14:19:24

标签: asp.net asp.net-mvc ado.net

我有两个表:产品和订单。我的projetc是一个asp mvc3项目,我使用Entity Framework。

在产品中,我有以下字段:价格(数字19,2) 按顺序,我有字段:UnitPrice(数字19,2)

这个价格应该是相同的,除了在我的订单表中,我的数字是四舍五入的。

为什么有任何想法?

有我的Models类

public class Product
    {
        [ScaffoldColumn(false)]
        public int      ProductId   { get; set; }

        [StringLength(160)]
        public string   Name        { get; set; }

        [DisplayName("Description")]
        [StringLength(200)]
        public string   Description { get; set; }

        [Required(ErrorMessage="error")]
        [Range(0.00, 10000.00, ErrorMessage="Error")]
        public decimal   Price       { get; set; }

        public virtual List<OrderDetail> Order { get; set; }
    }


  public class Order
    {

        public int OrderId { get; set; }
        public int ProductId { get; set; }
        public int Quantity { get; set; }

        public decimal UnitPrice { get; set; }

        public virtual Product Product { get; set; }
        public virtual Order Order { get; set; }
    }

感谢您的帮助

2 个答案:

答案 0 :(得分:1)

您将Scale值设置为0吗?如果是,请设置为2或更多。

enter image description here

如果使用存储过程保存数据,请确保存储过程参数类型也是同一类型。

答案 1 :(得分:0)

我在EF工作。无论我发现什么是错的。在我的订单模型中,我忘了添加Range属性。

[Range(0.00, 100000.00)]  
public decimal UnitPrice { get; set; }

工作正常。