下文主要給大家?guī)?lái)MySQL數(shù)據(jù)浮點(diǎn)類型的實(shí)際應(yīng)用操作,希望這些內(nèi)容能夠帶給大家實(shí)際用處,這也是我編輯MySQL數(shù)據(jù)浮點(diǎn)類型的實(shí)際應(yīng)用操作這篇文章的主要目的。好了,廢話不多說(shuō),大家直接看下文吧。
創(chuàng)新互聯(lián)公司為客戶提供專業(yè)的成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、程序、域名、空間一條龍服務(wù),提供基于WEB的系統(tǒng)開(kāi)發(fā). 服務(wù)項(xiàng)目涵蓋了網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站程序開(kāi)發(fā)、WEB系統(tǒng)開(kāi)發(fā)、微信二次開(kāi)發(fā)、手機(jī)網(wǎng)站開(kāi)發(fā)等網(wǎng)站方面業(yè)務(wù)。1. 背景
* MySQL支持的浮點(diǎn)類型中有單精度類型(float), 雙精度類型(double),和高精度類型(decimal),在數(shù)字貨幣類型中推薦使用高精度類型(decimal)來(lái)進(jìn)行應(yīng)用.
* MySQL浮點(diǎn)型和定點(diǎn)型可以用類型名稱后加(M,D)來(lái)表示,M表示該值的總共長(zhǎng)度,D表示小數(shù)點(diǎn)后面的長(zhǎng)度,M和D又稱為精度和標(biāo)度,如float(7,4)的可顯示為-999.9999,MySQL保存值時(shí)進(jìn)行四舍五入,如果插入999.00009,則結(jié)果為999.0001。FLOAT和DOUBLE在不指定精度時(shí),默認(rèn)會(huì)按照實(shí)際的精度來(lái)顯示,而DECIMAL在不指定精度時(shí),默認(rèn)整數(shù)為10,小數(shù)為0。
2. 整數(shù)類型所需的存儲(chǔ)和值范圍
類型 | 占用空間 | 精度 | 精確性 |
FLOAT | 4 | 單精度 | 精確到小數(shù)點(diǎn)后7位小數(shù) |
DOUBLE | 8 | 雙精度 | 精確到小數(shù)點(diǎn)后15位小數(shù) |
DECIMAL | 變長(zhǎng) | 高精度 | 精確到小數(shù)點(diǎn)后65位小數(shù) |
3. 浮點(diǎn)數(shù)應(yīng)用中的 M / G * G (!=|=)(不一定等于) M
M = 3.1415 G = 2.1542,統(tǒng)一精確到小數(shù)點(diǎn)后6位
* 單精度(float)應(yīng)用
* 創(chuàng)建float_test 表
mysql> CREATE TABLE float_test( -> m FLOAT(10,6), -> g FLOAT(10,6) -> )ENGINE=INNODB CHARSET=utf8mb4; Query OK, 0 rows affected (0.06 sec)
* 插入 m 與 g 的數(shù)據(jù)
mysql> INSERT INTO float_test SELECT 3.1415,2.1542; Query OK, 1 row affected (0.02 sec) Records: 1 Duplicates: 0 Warnings: 0 mysql> select * from float_test; +----------+----------+ | m | g | +----------+----------+ | 3.141500 | 2.154200 | +----------+----------+ 1 row in set (0.00 sec)
* 進(jìn)行 M / G * G 運(yùn)算
mysql> SELECT m / g * g, m FROM float_test; +--------------+----------+ | m / g * g | m | +--------------+----------+ | 3.1414999962 | 3.141500 | +--------------+----------+ 1 row in set (0.00 sec)
* 雙精度(double)應(yīng)用
* 創(chuàng)建double_test 表
mysql> CREATE TABLE double_test( -> m DOUBLE(10,6), -> g DOUBLE(10,6) -> )ENGINE=INNODB CHARSET=utf8mb4; Query OK, 0 rows affected (0.08 sec)
* 插入 m 與 g 的數(shù)據(jù)
mysql> INSERT INTO double_test SELECT 3.1415,2.1542; Query OK, 1 row affected (0.01 sec) Records: 1 Duplicates: 0 Warnings: 0 mysql> select * from double_test; +----------+----------+ | m | g | +----------+----------+ | 3.141500 | 2.154200 | +----------+----------+ 1 row in set (0.00 sec)
* 進(jìn)行 M / G * G 運(yùn)算
mysql> SELECT m / g * g, m FROM double_test; +--------------+----------+ | m / g * g | m | +--------------+----------+ | 3.1415000000 | 3.141500 | +--------------+----------+ 1 row in set (0.01 sec)
* 高精度(decimal)應(yīng)用
* 創(chuàng)建decimal_test 表
mysql> CREATE TABLE decimal_test( -> m DECIMAL(10,6), -> g DECIMAL(10,6) -> )ENGINE=INNODB CHARSET=utf8mb4; Query OK, 0 rows affected (0.05 sec)
* 插入 m 與 g 的數(shù)據(jù)
mysql> INSERT INTO decimal_test SELECT 3.1415,2.1542; Query OK, 1 row affected (0.02 sec) Records: 1 Duplicates: 0 Warnings: 0 mysql> SELECT * FROM decimal_test; +----------+----------+ | m | g | +----------+----------+ | 3.141500 | 2.154200 | +----------+----------+ 1 row in set (0.00 sec)
* 進(jìn)行 M / G * G 運(yùn)算
mysql> SELECT m / g * g, m FROM decimal_test; +--------------------+----------+ | m / g * g | m | +--------------------+----------+ | 3.1415000000000000 | 3.141500 | +--------------------+----------+ 1 row in set (0.00 sec)
4. 浮點(diǎn)類型應(yīng)用總結(jié)
* 浮點(diǎn)數(shù)如果不寫(xiě)精度和標(biāo)度,則會(huì)按照實(shí)際顯示
* 如果有精度和標(biāo)度,則會(huì)將數(shù)據(jù)四舍五入后插入,系統(tǒng)不報(bào)錯(cuò)
* DECIMAL如果不設(shè)置精度和標(biāo)度,剛按照默認(rèn)的(10,0)進(jìn)行操作,如果數(shù)據(jù)超過(guò)了精度和標(biāo)度值,則會(huì)報(bào)錯(cuò)。
* 賬務(wù)、賬務(wù)系統(tǒng)必須要用DECIMAL類型確定精確與資金安全。
5. 總結(jié)
以需求驅(qū)動(dòng)技術(shù),技術(shù)本身沒(méi)有優(yōu)略之分,只有業(yè)務(wù)之分。
對(duì)于以上關(guān)于MySQL數(shù)據(jù)浮點(diǎn)類型的實(shí)際應(yīng)用操作,大家是不是覺(jué)得非常有幫助。如果需要了解更多內(nèi)容,請(qǐng)繼續(xù)關(guān)注我們的行業(yè)資訊,相信你會(huì)喜歡上這些內(nèi)容的。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
分享文章:MySQL數(shù)據(jù)浮點(diǎn)類型的實(shí)際應(yīng)用操作-創(chuàng)新互聯(lián)
本文來(lái)源:http://www.rwnh.cn/article46/ijjhg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)、App設(shè)計(jì)、響應(yīng)式網(wǎng)站、網(wǎng)站制作、搜索引擎優(yōu)化、網(wǎng)站營(yíng)銷
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容