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 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











C++에서 int 유형의 변수는 양수 또는 음수 정수 값만 보유할 수 있으며 소수 값은 보유할 수 없습니다. 이를 위해 float 및 double 값을 사용할 수 있습니다. double 데이터형은 소수점 이하 7자리까지 소수점 이하 자릿수를 저장하기 위해 만들어졌습니다. 정수를 double 데이터 형식으로 변환하는 것은 컴파일러에 의해 자동으로 수행되거나("암시적" 변환이라고 함) 프로그래머가 컴파일러에서 명시적으로 요청할 수 있습니다("명시적" 변환이라고 함). 다음 섹션에서는 다양한 변환 방법을 다룹니다. 암시적 변환 컴파일러는 암시적 유형 변환을 자동으로 수행합니다. 이를 달성하려면 부동 소수점 유형과 정수 유형의 두 가지 변수가 필요합니다. 단순히 부동 소수점 값이나 변수를 정수 변수에 할당하면 컴파일러가 다른 모든 사항을 처리합니다.

double이 차지하는 바이트는 다음과 같습니다. 1. 16비트 컴파일러에서 double은 8바이트를 차지합니다. 2. 32비트 컴파일러에서는 double이 8바이트를 차지합니다. 3. 64비트 컴파일러에서 double은 8바이트를 차지합니다.

float와 double의 주요 차이점은 정밀도, 저장 및 계산 속도, 범위, 프로그래밍 언어에서의 사용에 있습니다. 자세한 소개: 1. 정밀도가 다릅니다. Float는 4바이트(32비트)를 차지하는 단정밀도 부동 소수점 숫자인 반면, double은 8바이트(64비트)를 차지하는 배정밀도 부동 소수점 숫자입니다. 저장 및 계산 속도가 다릅니다. , double은 더 많은 공간을 차지하고 값을 저장하는 데 더 많은 저장 공간이 필요합니다. 고성능과 속도가 필요한 애플리케이션에서는 float 유형을 사용하는 것이 더 효율적일 수 있습니다.

Double 클래스의 isInfinite() 메서드를 사용하여 숫자가 무한소인지 확인하는 방법 무한소는 숫자가 0에 가깝지만 0과 같지 않음을 나타내는 데 사용되는 수학 개념입니다. 컴퓨터 프로그래밍에서는 숫자가 극소인지 확인해야 하는 경우가 많습니다. Java의 Double 클래스는 숫자가 무한한지 여부를 확인하는 isInfinite() 메서드를 제공합니다. 이 기사에서는 Double 클래스의 isInfinite() 메서드를 사용하여 숫자가 무한한지 확인하고 이를 제공하는 방법을 소개합니다.

Java 문서 해석: 특정 코드 예제가 필요한 Double 클래스의 valueOf() 메서드 기능 분석 소개: Java 개발에서는 디지털 유형의 변환 및 작동이 종종 포함됩니다. Double 클래스는 배정밀도 부동 소수점 연산을 처리하기 위한 몇 가지 실용적인 메서드를 제공하는 Java의 래퍼 클래스입니다. 그 중 valueOf() 메서드는 Double 클래스의 중요한 메서드입니다. 이 글에서는 독자의 이해를 돕기 위해 이 메서드의 기능을 분석하고 구체적인 코드 예제를 제공합니다. 하나,

Double 클래스의 isPositiveInfinity() 메서드를 사용하여 숫자가 양의 무한대인지 확인하는 방법 소개 Java 프로그래밍에서는 숫자 값에 대한 판단과 프로세스를 수행해야 하는 경우가 많습니다. 때로는 숫자가 양의 무한대인지 확인해야 할 때도 있습니다. Java의 Double 클래스는 숫자가 양의 무한대인지 확인하는 데 사용할 수 있는 isPositiveInfinity() 메서드를 제공합니다. 이 문서에서는 이 방법을 사용하는 방법과 몇 가지 관련 고려 사항을 소개합니다. 하다

집합은 순서가 있는 집합과 순서가 없는 집합의 두 가지 범주로 나눌 수 있습니다. 순서가 있는 세트의 데이터 항목은 특정 순서로 배열되어 있는 반면, 순서가 없는 세트의 데이터 항목은 고정된 순서가 없습니다. Java 컬렉션 프레임워크는 데이터를 쉽게 저장하고 관리할 수 있는 풍부한 컬렉션 클래스 세트를 제공합니다. Java 컬렉션 프레임워크에서 일반적으로 사용되는 컬렉션 클래스는 다음과 같습니다. 목록: 목록 컬렉션, 순서가 지정된 컬렉션, 반복 요소 지원. 세트: 세트는 순서가 지정되지 않은 컬렉션이며 반복되는 요소를 지원하지 않습니다. 맵: 사전 컬렉션, 순서가 지정되지 않은 컬렉션, 키-값 쌍 저장. 컬렉션의 개념과 유형을 이해합니다. 컬렉션 클래스 사용법을 숙지하세요. 컬렉션 클래스를 사용하여 데이터를 저장하고 관리하는 기능. 컬렉션의 개념과 유형을 이해합니다. 컬렉션 클래스 사용법을 숙지하세요. 컬렉션 클래스를 사용하여 데이터를 저장하고 관리하는 기능. 집합의 개념을 이해하라

Java 문서 해석: Double 클래스의 Compare() 메서드 기능 분석 Double 클래스는 Java에서 배정밀도 부동 소수점 숫자(64비트)를 나타내는 데 사용되는 래퍼 클래스입니다. 숫자를 조작하고 비교하는 다양한 방법을 제공합니다. 일반적으로 사용되는 메소드 중 하나는 두 Double 객체의 값을 비교하는 데 사용되는 Compare()입니다. 이 기사에서는 Double 클래스의 Compare() 메서드에 대한 자세한 분석을 제공하고 독자가 해당 기능과 사용법을 더 잘 이해할 수 있도록 해당 코드 예제를 제공합니다.
