簡體   English   中英

如何在數據庫中存儲十進制值?

[英]How to store decimal values in DB?

添加到db時未獲得小數點值。 它會自動四舍五入到最接近的數字。

我宣布為

 public Decimal Amt { get; set; }

在我的主要模型中

public int Add(Decimal Amt)
        {
            using (SqlConnection con = new SqlConnection())
            {
                con.ConnectionString = CONNECTION_STRING;
                using (SqlCommand cmd = new SqlCommand())
                {
                    cmd.Connection = con;
                    cmd.CommandText = "INSERT INTO ledger(Amt)VALUES(@AMT)";                    
                    cmd.Parameters.AddWithValue("@AMT", Amt);
                    int modified = cmd.ExecuteNonQuery();
                    if (con.State == System.Data.ConnectionState.Open) con.Close();
                    return modified;
                }
            }
        }

在數據庫中,其數據類型為Decimal(18,0)。

Decimal(18,0)表示存儲在小數點右邊的0位數字。

來源: http//msdn.microsoft.com/en-us/library/ms187746.aspx

Decimal(18,0)中的第二個參數為0,表示您不希望小數位。 例如,如果u定義Decimal(18,2),它將給出直到2個小數位。

將數據類型更改為(18,6)左右,以適合您的方式為准,

十進制數據類型的第二部分顯示在“點”之后需要多少個數字。 在您的情況下,它是“ 0”,因此db將其舍入到最接近的整數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM