Maison base de données tutoriel mysql mysql decimal_MySQL

mysql decimal_MySQL

Jun 01, 2016 pm 01:29 PM
double Money

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 
Copier après la connexion

# 在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)); 
Copier après la connexion

2、插入数据

代码如下

insert into ta (a,b) values(1,12345.123423); 
Copier après la connexion

实际插入的b列数据为:12345.12342

代码如下

insert into ta (a,b) values(1,123456.1234); 
Copier après la connexion

 

 

 

实际插入的b列数据为:99999.99999 

 

结论:decimal数据类型, 

 

1、当插入的整数部分的值超过了其表示范围后就直接忽略了小数部分的值,并以最大值填充。 

 

2、当整数部分合法,小数部分多余的位数,直接截断。

bitsCN.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Programme C++ pour convertir une variable de type double en type int Programme C++ pour convertir une variable de type double en type int Aug 25, 2023 pm 08:25 PM

En C++, les variables de type int ne peuvent contenir que des valeurs entières positives ou négatives ; elles ne peuvent pas contenir de valeurs décimales. Des valeurs float et double sont disponibles à cet effet. Le type de données double a été créé pour stocker des décimales jusqu'à sept chiffres après la virgule. La conversion d'un entier en type de données double peut être effectuée automatiquement par le compilateur (appelée conversion "implicite"), ou elle peut être explicitement demandée par le programmeur au compilateur (appelée conversion "explicite"). Dans les sections suivantes, nous aborderons différentes méthodes de conversion. Conversions implicites Le compilateur effectue automatiquement des conversions de type implicites. Pour y parvenir, deux variables sont nécessaires : l’une de type virgule flottante et l’autre de type entier. Lorsque nous attribuons simplement une valeur ou une variable à virgule flottante à une variable entière, le compilateur s'occupe de toutes les autres choses.

Combien d'octets le double occupe-t-il ? Combien d'octets le double occupe-t-il ? Dec 25, 2020 am 10:36 AM

Les octets occupés par double : 1. Sous un compilateur 16 bits, double occupe 8 octets ; 2. Sous un compilateur 32 bits, double occupe 8 octets ; 3. Sous un compilateur 64 bits, double occupe 8 octets.

Quelle est la différence entre float et double Quelle est la différence entre float et double Oct 11, 2023 pm 05:38 PM

Les principales différences entre float et double résident dans la précision, la vitesse de stockage et de calcul, la portée et l'utilisation dans les langages de programmation. Introduction détaillée : 1. La précision est différente. Float est un nombre à virgule flottante simple précision, occupant 4 octets (32 bits), tandis que double est un nombre à virgule flottante double précision, occupant 8 octets (64 bits) ; la vitesse de stockage et de calcul est différente, le double prend plus de place et nécessite plus d'espace de stockage pour stocker les valeurs, il peut être plus efficace d'utiliser le type float 3. Différentes plages, etc.

Comment utiliser la méthode isInfinite() de la classe Double pour déterminer si un nombre est infinitésimal Comment utiliser la méthode isInfinite() de la classe Double pour déterminer si un nombre est infinitésimal Jul 26, 2023 am 11:04 AM

Comment utiliser la méthode isInfinite() de la classe Double pour déterminer si un nombre est infinitésimal. L'infini petit est un concept mathématique utilisé pour indiquer qu'un nombre est proche de zéro mais n'est pas égal à zéro. En programmation informatique, nous devons souvent déterminer si un nombre est infinitésimal. La classe Double de Java fournit la méthode isInfinite() pour déterminer si un nombre est infinitésimal. Cet article présentera comment utiliser la méthode isInfinite() de la classe Double pour déterminer si un nombre est infinitésimal et donner

Interprétation de la documentation Java : Analyse du fonctionnement de la méthode valueOf() de la classe Double Interprétation de la documentation Java : Analyse du fonctionnement de la méthode valueOf() de la classe Double Nov 04, 2023 am 10:55 AM

Interprétation de la documentation Java : Analyse du fonctionnement de la méthode valueOf() de la classe Double, qui nécessite des exemples de code spécifiques Introduction : Dans le développement Java, la conversion et le fonctionnement des types numériques sont souvent impliqués. La classe Double est une classe wrapper en Java qui fournit des méthodes pratiques pour gérer les opérations à virgule flottante double précision. Parmi elles, la méthode valueOf() est une méthode importante dans la classe Double. Cet article analysera la fonction de cette méthode et fournira des exemples de code spécifiques pour aider les lecteurs à mieux comprendre. un,

Comment utiliser la méthode isPositiveInfinity() de la classe Double pour déterminer si un nombre est l'infini positif Comment utiliser la méthode isPositiveInfinity() de la classe Double pour déterminer si un nombre est l'infini positif Jul 24, 2023 pm 07:57 PM

Comment utiliser la méthode isPositiveInfinity() de la classe Double pour déterminer si un nombre est l'infini positif Introduction En programmation Java, nous devons souvent porter des jugements et des processus sur des valeurs numériques. Parfois, nous devons déterminer si un nombre est positif à l’infini. La classe Double de Java fournit une méthode isPositiveInfinity(), qui peut être utilisée pour déterminer si un nombre est l'infini positif. Cet article présentera comment utiliser cette méthode et quelques considérations connexes. Faire

Java Iterator vs Iterable : améliorez votre compréhension des collections Java Java Iterator vs Iterable : améliorez votre compréhension des collections Java Feb 19, 2024 pm 06:20 PM

Les ensembles peuvent être divisés en deux catégories : les ensembles ordonnés et les ensembles non ordonnés. Les éléments de données d'un ensemble ordonné sont disposés dans un certain ordre, tandis que les éléments de données d'un ensemble non ordonné n'ont pas d'ordre fixe. Le framework de collection Java fournit un riche ensemble de classes de collection qui peuvent facilement stocker et gérer des données. Les classes de collection couramment utilisées dans le cadre de collection Java incluent : List : collection de listes, collection ordonnée, prenant en charge les éléments répétés. Set : Set, collection non ordonnée, ne prend pas en charge les éléments répétés. Carte : collection de dictionnaires, collection non ordonnée, stockage de paires clé-valeur. Comprendre les concepts et les types de collections. Maîtriser l'utilisation des classes de collection. Possibilité d'utiliser des classes de collection pour stocker et gérer des données. Comprendre les concepts et les types de collections. Maîtriser l'utilisation des classes de collection. Possibilité d'utiliser des classes de collection pour stocker et gérer des données. Comprendre le concept d'ensembles

Interprétation de la documentation Java : Analyse fonctionnelle de la méthode compare() de la classe Double Interprétation de la documentation Java : Analyse fonctionnelle de la méthode compare() de la classe Double Nov 04, 2023 pm 12:25 PM

Interprétation de la documentation Java : Analyse du fonctionnement de la méthode compare() de la classe Double La classe Double est une classe wrapper utilisée pour représenter des nombres à virgule flottante double précision (64 bits) en Java. Il propose une gamme de méthodes pour manipuler et comparer les nombres. L'une des méthodes couramment utilisées est compare(), qui permet de comparer les valeurs de deux objets Double. Cet article fournira une analyse détaillée de la méthode compare() de la classe Double et fournira des exemples de code correspondants pour aider les lecteurs à mieux comprendre ses fonctions et son utilisation.

See all articles