程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> mysql 浮點數與定點數使用示例

mysql 浮點數與定點數使用示例

編輯:關於MYSQL數據庫
在MySQL中float、double(或real)是浮點數,decimal(或numberic)是定點數。浮點數相對於定點數的優點是在長度一定的情況下,浮點數能夠表示更大的數據范圍;

 浮點數與定點數
為了能夠引起大家的重視,在介紹浮點數與定點數以前先讓大家看一個例子:
MySQL> CREATE TABLE test (c1 float(10,2),c2 decimal(10,2));
Query OK, 0 rows affected (0.29 sec)
MySQL> insert into test values(131072.32,131072.32);
Query OK, 1 row affected (0.07 sec)
MySQL> select * from test;
+-----------+-----------+
| c1| c2|
+-----------+-----------+
| 131072.31 | 131072.32 |
+-----------+-----------+
1 row in set (0.00 sec)
從上面的例子中我們看到c1列的值由131072.32變成了131072.31,這就是浮點數的不精確性造成的。
在MySQL中float、double(或real)是浮點數,decimal(或numberic)是定點數。
浮點數相對於定點數的優點是在長度一定的情況下,浮點數能夠表示更大的數據范圍;
它的缺點是會引起精度問題。
在今後關於浮點數和定點數的應用中,大家要記住以下幾點:
1、浮點數存在誤差問題;
2、對貨幣等對精度敏感的數據,應該用定點數表示或存儲;
3、編程中,如果用到浮點數,要特別注意誤差問題,並盡量避免做浮點數比較;
4、要注意浮點數中一些特殊值的處理。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved