資料型態 - Decimal
前陣子需求單位開了一張單過來,說是要求把數字欄位開到最大能儲存的範圍。
一開始只是想說:「那就把資料庫的可儲存範圍設到最大好了。」
欄位型態是decimal,採用的資料庫是ms sql server,最大有效位數共38位。
所以,我就把欄位直接調成decimal(38, 2)。結果後來才發現沒這麼簡單XD
C#也有decimal型態,不過卻和資料庫的範圍差距不一樣,另外還有javascript
的問題。
所以整理了一下
ms sql - 10^38 +1 through 10^38 - 1
c# ±1.0 × 10^28 to ±7.9 × 10^28
javascript integer to 15 digits
簡單來說,如果要以能輸入的長度來限制,ms sql大概是38位,c#是27-28位,
而javascript是15位。
考量到要乘以匯率(*100)的問題,所以必需要再減二位。
最後的定案是輸入長度限制是13位。
相關連結: