小型電商系統資料庫中的價格型別設計

2022-03-23 11:45:28 字數 1383 閱讀 6149

今天分享乙個小型電商系統的資料庫**欄位的資料型別設計。附上通用四捨五入轉換方法

我們知道,**字段使用的型別,最佳的有兩個,分別為:decimal,money;而money小數部分只能精確到4位,雖然money在記憶體上是比decimal少那麼乙個位元組,但是現在硬碟那麼大,不用計較了。

個人喜歡,我全部直接用decimal(18,5),小數部分我直接用了5位;

但是對於乙個商品來說,我最多隻會用到兩位小數,百分比也只會用到4位,5位的只能是更小的佣金比例計算。

但我覺得這樣算起來的數,小數實在是太小了,既然針對小型電商來說,我覺得只要兩位就足夠了,

所以我引入了一些概念,

1、針對提現金額的手續費不採用標準的四捨五入,保留兩位小數。

2、針對佣金提成的手續費也不採用標準的四捨五入,保留兩位小數。

3、要使用者交錢的四捨五入,只要第三位小數有值,直接往第二位進1,目的就是要使用者多交錢。

3、要商家交錢的四捨五入,不管第三位小數是否有值,都不進1,目的是要商家少交錢。

好了,有了這些基礎後,我直接整個資料庫設計儲存的**值佣金值都採用保留兩位小數進行儲存,雖然使用decimal(18,5)會有3個多餘的0,這裡我直接用乙個方法進行切割,反正是沒值的。

而對於百分比的,直接不變,都是採用五位小數。

下面我提供我換算的方法:

///

///四捨五入計算類

/// public

class

round

//////

標準四捨五入,結果保留兩位小數

/// public

static

decimal roundforstandard(string

money)

//////

針對使用者的四捨五入,結果保留兩位小數

///要使用者交錢的四捨五入,目的就是要使用者多交錢

/// public

static

decimal roundforuser(string

money)

else

}//////

針對商家的四捨五入,結果保留兩位小數

///要商家交錢的四捨五入,目的是要商家少交錢

/// public

static

decimal roundformerchant(string

money)

//////

固定點的轉換,可將小數後面多餘的零去掉

///這個不固定保留多少位小數

/// public

static

decimal fixed(string

money)

", money));

}}

軟體工程電商系統資料庫定義 電子商務資料庫

電子商務系統資料庫 引言現在網上購物已經成為一種流行趨勢。根據電子商務購物的基本流程,電子商務管理資訊應用系統由由以下功能模組組成 1.後台管理員管理模組 實現產品錄入 訂單檢視和公告管理等功能。2.使用者管理管理模組 實現購買商品管理。3.商品購物管理模組 使用者購買商品。專案介紹 電子商務系統的...

小型資料庫的查詢

dim objrs as new recordset,objcn as new connection,strsql as string strsql select from 表 where 字段 like trim text with objcn provider sqloledb connecti...

小型資料庫的選擇

小型資料庫的選擇 一直使用sql server開發,沒有用過access之外其它的db。最近正想做個理財工具,這種小東西當然不可能用sql server資料庫啦,可又不想用access,於是想起在blog中看到關於小型資料庫的文章,收集如下資料 據稱,在國外,需要使用客戶端資料庫的情況中,有30 左...