mysql 中浮點型與定點型記錄

2022-09-17 05:21:09 字數 998 閱讀 1649

為了能夠引起大家的重視,在介紹浮點數與定點數以前先讓大家看乙個例子:

mysql> create table test (c1 float(10,2),c2 decimal(10,2));

query ok, 0 rows affected (0.22 sec)

mysql> insert into test values(131072.32,131072.32);

query ok, 1 row affected (0.02 sec)

mysql> insert into test values (999998.02, 999998.02);

query ok, 1 row affected (0.02 sec)

mysql> select * from test;

+-----------+-----------+

| c1 | c2 |

+-----------+-----------+

| 131072.31 | 131072.32 |

| 999998.00 | 999998.02 |

+-----------+-----------+

1 row in set (0.00 sec)

從上面的例子中我們看到c1列的值由131072.32變成了131072.31;999998.02變成了999998.00,這就是浮點數的不精確性造成的。

在mysql中float、double(或real)是浮點數,decimal(或numberic)是定點數。

浮點數相對於定點數的優點是在長度一定的情況下,浮點數能夠表示更大的資料範圍;它的缺點是會引起精度問題。

1、浮點數存在誤差問題;

2、對貨幣等對精度敏感的資料,應該用定點數表示或儲存;

3、程式設計中,如果用到浮點數,要特別注意誤差問題,並盡量避免做浮點數比較;

4、要注意浮點數中一些特殊值的處理。

浮點型與定點型(浮點數與定點數)

浮點型與定點型 浮點數與定點數 float與int,這兩個型別,仔細研究一下,這兩個型別就會發現為什麼有超級計算機誕生的必要了,以及提高計算機的計算能力真的是一件很偉大的事情,正式說下把,先來定點數,定點數就是小數點固定在乙個位置,如下圖 類似上面長條那樣,表示小數點時,只能固定乙個點,假設使用32...

黑猴子的家 mysql 浮點型 和 定點型

選擇資料型別的原則 1 選擇能儲存數值的越小型別越好 2 型別越簡單越好1 數值型總結 整型 特點1.根據所佔位元組或儲存的數值範圍分類 tinyint smallint mediumint int integer bigint 2.預設為有符號整型 3.如果超過型別的範圍,會報警告,插入臨界值 最...

MySQL的浮點型和定點型解析和案例演示

小數型 1 概述 浮點型和定點型 1 浮點數型別包括單精度浮點數 float型 和雙精度浮點數 double型 定點數型別就是decimal型。2 兩者區別 1 浮點型 小數點移動,精度有限,而且會丟失精度 系統自動四捨五入 4個位元組,最大8個數字 整數部分不能超出長度,但是小數部分可以超出長度 ...