當前位置:首頁 » 價格行情 » 價格用什麼類型欄位定義
擴展閱讀
相框跟擺台哪個價格高 2025-07-29 20:17:27

價格用什麼類型欄位定義

發布時間: 2022-07-07 10:37:16

1. mysql 存儲價格用什麼數據類型好

你好:由於價格是屬於貨幣類型的。
所以可以使用decimal(m,n)這個數據類型來精確表達價格

不要使用float double等浮點數據類型 因為它們是不精確的 特別是在計算的時候

2. mysql 建表時的價格用什麼類型定義

MySQL中可以用來做價格的欄位一般有float、double、decimal
如定義一個money欄位類型為float(9,2),則money欄位最大長度為9,整數位是6位,小數位是2位。

以下摘自MySQL 5.1參考手冊:
1、FLOAT[(M,D)] [UNSIGNED] [ZEROFILL]
小(單精度)浮點數。允許的值是-3.402823466E+38到-1.175494351E-38、0和1.175494351E-38到3.402823466E+38。這些是理論限制,基於IEEE標准。實際的范圍根據硬體或操作系統的不同可能稍微小些。
M是小數總位數,D是小數點後面的位數。如果M和D被省略,根據硬體允許的限制來保存值。單精度浮點數精確到大約7位小數位。
如果指定UNSIGNED,不允許負值。
使用浮點數可能會遇到意想不到的問題,因為在MySQL中的所有計算用雙精度完成。參見A.5.7節,「解決與不匹配行有關的問題」。
2、DOUBLE[(M,D)] [UNSIGNED] [ZEROFILL]
普通大小(雙精度)浮點數。允許的值是-1.7976931348623157E+308到-2.2250738585072014E-308、0和2.2250738585072014E-308到 1.7976931348623157E+308。這些是理論限制,基於IEEE標准。實際的范圍根據硬體或操作系統的不同可能稍微小些。
M是小數總位數,D是小數點後面的位數。如果M和D被省略,根據硬體允許的限制來保存值。雙精度浮點數精確到大約15位小數位。
如果指定UNSIGNED,不允許負值。
3、DOUBLE PRECISION[(M,D)] [UNSIGNED] [ZEROFILL], REAL[(M,D)] [UNSIGNED] [ZEROFILL]
為DOUBLE的同義詞。除了:如果SQL伺服器模式包括REAL_AS_FLOAT選項,REAL是FLOAT的同義詞而不是DOUBLE的同義詞。
4、FLOAT(p) [UNSIGNED] [ZEROFILL]
浮點數。p表示精度(以位數表示),但MySQL只使用該值來確定是否結果列的數據類型為FLOAT或DOUBLE。如果p為從0到24,數據類型變為沒有M或D值的FLOAT。如果p為從25到53,數據類型變為沒有M或D值的DOUBLE。結果列范圍與本節前面描述的單精度FLOAT或雙精度DOUBLE數據類型相同。
FLOAT(p)語法與ODBC兼容。
5、DECIMAL[(M[,D])] [UNSIGNED] [ZEROFILL]
壓縮的「嚴格」定點數。M是小數位數(精度)的總數,D是小數點(標度)後面的位數。小數點和(負數)的『-』符號不包括在M中。如果D是0,則值沒有小數點或分數部分。DECIMAL整數最大位數(M)為65。支持的十進制數的最大位數(D)是30。如果D被省略, 默認是0。如果M被省略, 默認是10。
如果指定UNSIGNED,不允許負值。
所有DECIMAL列的基本計算(+,-,*,/)用65位精度完成。
6、DEC[(M[,D])] [UNSIGNED] [ZEROFILL], NUMERIC[(M[,D])] [UNSIGNED] [ZEROFILL], FIXED[(M[,D])] [UNSIGNED] [ZEROFILL]
是DECIMAL的同義詞。FIXED同義詞適用於與其它伺服器的兼容性。

3. mysql 用什麼數據類型表示價格

DECIMAL和NUMERIC都行
DECIMAL和NUMERIC類型在MySQL中視為相同的類型。它們用於保存必須為確切精度的值,例如貨幣數據。當聲明該類型的列時,可以(並且通常要)指定精度和標度;例如:

salary DECIMAL(5,2)
在該例子中,5是精度,2是標度。精度表示保存值的主要位數,標度表示小數點後面可以保存的位數

4. Java編程中,什麼數據類型適合用來表示價格

BigDecimal (java.math.BigDecimal)

就算存儲使用的float或者double,計算金額的時候也務必轉成BigDecimal再計算,以避免精度問題。

Java中存儲金額用什麼數據類型?

Java BigDecimal詳解

5. 在sql server中,價格該用什麼資料庫類型

在sql server中,價格可用的資料庫類型有:
單精度;雙精度和貨幣型,
可根據需要選定。

6. Java 中應該使用什麼數據類型來代表價格

要准確表示單價等貨幣類型的數據用DECIMAL和NUMERIC都行。
DECIMAL和NUMERIC類型在MySQL中視為相同的類型。它們用於保存必須為確切精度的值,例如貨幣數據。當聲明該類型的列時,可以(並且通常要)指定精度和標度;例如:
salary DECIMAL(5,2)
在該例子中,5是精度,2是標度。精度表示保存值的主要位數,標度表示小數點後面可以保存的位數。

7. 數量和價格在c語言定義時是什麼類型

數量為int 或long型 價格一般為 double 或 float型

8. sql 表設計時,面積,單價應該用什麼數據類型

面積用decimal(4,2)單價用int就行了。

9. mysql 存儲金額類型,用什麼數據類型比較可靠,一般企業數據用什麼數據類型

對於游戲幣等代幣,一般存儲為int類型是可行的。問題在於越界,int類型長度為11位。

在存儲人民幣相關的金額的時候,則只能存儲到9長度的人民幣,也就是說,最大隻能存儲999999999,不到10億的數值,如果業務增長很快的話,就會給自己留下隱患。

Decimal:Decimal為專門為財務相關問題設計的數據類型。

DECIMAL從MySQL 5.1引入,列的聲明語法是DECIMAL(M,D)。在MySQL 5.1中,參量的取值范圍如下:M是數字的最大數(精度)。其范圍為1~65(在較舊的MySQL版本中,允許的范圍是1~254),M 的默認 值是10。

D是小數點右側數字的數目(標度)。其范圍是0~30,但不得超過M。說明:float佔4個位元組,double佔8個位元組,decimail(M,D)佔M+2個位元組。

如DECIMAL(5,2) 的最大值為9 9 9 9 . 9 9,因為有7 個位元組可用。能夠解決數據的范圍和精度的問題。

(9)價格用什麼類型欄位定義擴展閱讀

MySQL數據類型DECIMAL用法:

MySQLDECIMAL數據類型用於在資料庫中存儲精確的數值。我們經常將DECIMAL數據類型用於保留准確精確度的列,例如會計系統中的貨幣數據。

要定義數據類型為DECIMAL的列,請使用以下語法:column_nameDECIMAL(P,D);

在上面的語法中:

P是表示有效數字數的精度。P范圍為1〜65。

D是表示小數點後的位數。D的范圍是0~30。MySQL要求D小於或等於(<=)P。

DECIMAL(P,D)表示列可以存儲D位小數的P位數。十進制列的實際范圍取決於精度和刻度。

與INT數據類型一樣,DECIMAL類型也具有UNSIGNED和ZEROFILL屬性。 如果使用UNSIGNED屬性,則DECIMAL UNSIGNED的列將不接受負值。

如果使用ZEROFILL,MySQL將把顯示值填充到0以顯示由列定義指定的寬度。 另外,如果我們對DECIMAL列使用ZERO FILL,MySQL將自動將UNSIGNED屬性添加到列。

10. 我想問下在資料庫中一個商品價格欄位應該設置什麼類型

如果是mysql,設置為decimal ;
如果是oracle,就設置為number