【问题标题】:What is Exact Equivalent Conversion in C# Double Datatype And Sql Numeric什么是 C# Double 数据类型和 Sql Numeric 中的精确等价转换
【发布时间】:2018-09-18 15:11:46
【问题描述】:

实际上,我创建了一个 RDLC 报告,现在我遇到了一个问题,我的模型属性的数据类型是“double”,但我的 SQL SP 返回 Decimal 因为我使用数字 (18,2),当我想绑定时,这些数据类型会产生冲突SP 到模型。

var result = Database.SqlQuery<ReportVm>
        ("SP_InComeStatement @EntryDateFrom, @EntryDateTo, entryDateFromParam, entryDateToParam).ToList();

我的 ReportVm 属性是:

public double? TotalAmount{get; set;}

和 SP 变量是: ReceivableAmount 数字(18,2) 我该如何解决这个问题?

【问题讨论】:

    标签: c# sql report rdlc


    【解决方案1】:

    numeric(18, 2) 是一个精确的数字,例如可用于保存财务数据。 double 是一个浮点数,并不精确。

    我建议更改模型。 decimal 将使用双倍内存,但它会比 double 提供更高的精度:

    public decimal? TotalAmount{get; set;}
    

    【讨论】:

    • 如果我知道这个数字大约是 0-12 位数字,那为什么我使用 Decimal 而不是 double 呢?你能推荐我吗?
    • 我想我在回答中提到了这一点。
    猜你喜欢
    • 1970-01-01
    • 2012-05-11
    • 2010-09-12
    • 1970-01-01
    • 1970-01-01
    • 2022-08-18
    • 2010-10-13
    • 1970-01-01
    • 2011-03-31
    相关资源
    最近更新 更多