mysql decimal_MySQL
bitsCN.com
mysql decimal
首先,对于精度比较高的东西,比如money,我会用decimal类型,不会考虑float,double,因为他们容易产生误差,
DECIMAL列的声明语法是DECIMAL(M,D)。在MySQL 5.1中,参量的取值范围如下:
· M是数字的最大数(精度)。其范围为1~65(在较旧的MySQL版本中,允许的范围是1~254)。
· D是小数点右侧数字的数目(标度)。其范围是0~30,但不得超过M。
说明:float占4个字节,double占8个字节,decimail(M,D)占M+2个字节。
如DECIMAL(5, 2) 的最大值为9 9 9 9 . 9 9,因为有7 个字节可用。
译者注:
M 与D 对DECIMAL(M, D) 取值范围的影响
类型说明 取值范围(MySQL = 3.23)
代码如下
DECIMAL(4, 1) -9.9 到 99.9 -999.9 到 9999.9 DECIMAL(5, 1) -99.9 到 999.9 -9999.9 到 99999.9 DECIMAL(6, 1) -999.9 到 9999.9 -99999.9 到 999999.9 DECIMAL(6, 2) -99.99 到 999.99 -9999.99 到 99999.99 DECIMAL(6, 3) -9.999 到 99.999 -999.999 到 9999.999
# 在MySQL 3.23 及以后的版本中,DECIMAL(M, D) 的取值范围等于早期版本中的DECIMAL(M + 2, D) 的取值范围。
还有一种数据类型也是比较棒的: 那就是LongBlob,这种数据类型可以直接把图像文件存到数据库中!
笔者,最近在研究mysql的decimal数据类型,现把数据实验结果公布如下
数据库版本:Server version: 5.0.45 Source distribution
1、创建表结构
代码如下
create table ta (a float,b decimal(10,5));
2、插入数据
代码如下
insert into ta (a,b) values(1,12345.123423);
实际插入的b列数据为:12345.12342
代码如下
insert into ta (a,b) values(1,123456.1234);
实际插入的b列数据为:99999.99999
结论:decimal数据类型,
1、当插入的整数部分的值超过了其表示范围后就直接忽略了小数部分的值,并以最大值填充。
2、当整数部分合法,小数部分多余的位数,直接截断。
bitsCN.com
熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

在C++中,int型別的變數只能保存正整數或負整數值;它們不能保存小數值。有float和double值可用於此目的。為了儲存小數點後最多七位的小數,創建了雙精度資料類型。整數到雙精確度資料類型的轉換可以由編譯器自動完成(稱為「隱式」轉換),也可以由程式設計師向編譯器明確要求(稱為「明確」轉換)。在接下來的部分中,我們將介紹各種轉換方法。隱式轉換編譯器會自動執行隱式類型轉換。要實現這一點,需要兩個變數——一個是浮點類型,另一個是整數類型。當我們簡單地將浮點值或變數分配給整數變數時,編譯器將處理所有其他事情

double佔的位元組:1、16位元編譯器下,double佔8個位元組;2、32位元編譯器下,double佔8個位元組;3、64位元編譯器下,double佔8個位元組。

float和double區別主要在於精度、儲存和計算速度、範圍以及在程式語言中的使用。詳細介紹:1、精度不同,Float是單精度浮點數,佔用4個位元組(32位元),而double是雙精度浮點數,佔用8個位元組(64位元);2、儲存和運算速度不同,double佔用的空間更大,需要更多的儲存空間來儲存數值,在需要高效能和速度的應用程式中,使用float類型可能會更有效率;3、範圍不同等等。

如何使用Double類別的isInfinite()方法判斷一個數是否為無窮小無窮小是數學中的概念,用來表示一個數接近零但不等於零。在電腦程式設計中,我們常常需要判斷一個數是否為無窮小。 Java的Double類別提供了isInfinite()方法,可以判斷一個數是否為無窮小。本文將介紹如何使用Double類別的isInfinite()方法判斷一個數是否為無窮小,並給予

Java文檔解讀:Double類別的valueOf()方法功能解析,需要具體程式碼範例引言:在Java開發中,經常涉及到數字類型的轉換和操作。而Double類是Java中的一個封裝類,提供了一些實用的方法來處理雙精度浮點數操作。其中,valueOf()方法是Double類別中的重要方法,本文將對此方法進行功能解析,並提供具體的程式碼範例幫助讀者更好地理解。一、

如何使用Double類別的isPositiveInfinity()方法判斷一個數是否為正無窮大介紹在Java程式設計中,我們常常需要對數值做一些判斷和處理。有時候我們需要判斷一個數是否為正無窮大。 Java的Double類別提供了一個isPositiveInfinity()方法,可以用來判斷一個數是否為正無窮大。本文將介紹如何使用這個方法以及一些相關的注意事項。 Do

集合可分為兩類:有序集合和無序集合。有序集合中的資料項依照一定的順序排列,無序集合中的資料項則沒有固定的順序。 Java集合框架提供了豐富的集合類,這些集合類可以方便地儲存和管理資料。 Java集合框架中常用的集合類別包括:List:列表集合,有序集合,支援重複元素。 Set:集合,無序集合,不支援重複元素。 Map:字典集合,無序集合,鍵值對儲存。理解集合的概念和類型。掌握集合類別的使用。能夠使用集合類別來儲存和管理資料。理解集合的概念和類型。掌握集合類別的使用。能夠使用集合類別來儲存和管理資料。理解集合的概

Java文件解讀:Double類別的compare()方法功能解析Double類別是Java中用來表示雙精確度浮點數(64位元)的包裝類別。它提供了一系列方法來進行數字的操作和比較。其中一個常用的方法是compare(),它用來比較兩個Double物件的值。本文將對Double類別的compare()方法進行詳細解析,並提供對應的程式碼範例來幫助讀者更好地理解其功能和使用
