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
Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

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 !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

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.

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.

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. 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, 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 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

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 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.
