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脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++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()方法进行详细解析,并提供相应的代码示例来帮助读者更好地理解其功能和使用
