MySQL浮点数和定点数

MySQL 分为两种方式:浮点数和定点数。浮点数包括 float(单精度)和 double(双精度),而定点数则只有 decimal 一种表示。
定点数在 MySQL 内部以字符串形式存放,比浮点数更精确,适合用来表示货币等精度高的数据。

浮点数和定点数都可以用类型名称后加“(M,D)”的方式来进行表示,“(M,D)”表示该值一共显示 M 位数字(整数位+小数位),其中 D 位位于小数点后面,M 和 D 又称为精度和标度。
例如,定义为 float(7,4)的一个列可以显示为-999.9999。
MySQL 保存值时进行四舍五入,因此如果在 float(7,4)列内插入 999.00009,近似结果是 999.0001。
值得注意的是,浮点数后面跟“(M,D)”的用法是非标准用法,如果要用于数据库的迁移,则最好不要这么使用。
float 和 double 在不指定精度时,默认会按照实际的精度(由实际的硬件和操作系统决定)来显示,
而 decimal 在不指定精度时,默认的整数位为 10,默认的小数位为 0。

CREATE TABLE `t1` (
`id1` float(5,2) default NULL,
`id2` double(5,2) default NULL,
`id3` decimal(5,2) default NULL
)

insert into t1 values(1.23,1.23,1.23);

insert into t1 values(1.234,1.234,1.23);

insert into t1 values(1.234,1.234,1.234);

原文地址:https://www.cnblogs.com/pangdajin/p/9541618.html

时间: 2024-07-31 10:49:18

MySQL浮点数和定点数的相关文章

mysql 浮点数与定点数

浮点数一般用于表示含有小数部分的数值.当一个字段被定义为浮点类型后,如果插入数据的精度超过该列定义的实际精度,则插入值会被四舍五入到实际定义的精度值,然后插入,四舍五入的过程不会报错.在MySQL 中float.double(或real)用来表示浮点数. 定点数不同于浮点数,定点数实际上是以字符串形式存放的,所以定点数可以更加精确的保存数据. mysql> CREATE TABLE test (c1 float(10,2),c2 decimal(10,2));Query OK, 0 rows a

MySQL 浮点数类型和定点数类型

MySQL 中使用浮点数和 定点数来表示小数,浮点数包括单精度浮点类型(FLOAT)和双精度浮点类型(DOUBLE),定点数只有DECIMAL一种类型.浮点类型和定点类型都可以用 (M, N) 来表示,其中 M 为精度,表示总共的位数:N 为标度,表示小数的位数. (1) 浮点数与定点数:浮点数指小数点在小数中的位置是不固定的,定点数指小数点在小数中的位置是固定的(2) 单精度与双精度:单精度用 4 个字节来存储的,双精度用 8 个字节来存储,由于存储位不同,他们能表示的数值的范围就不同,也就是

DSP中浮点数和定点数 dsp

2020-04-08  21:54:53 1 DSP中的数据表述DSP中数据通常是有定点数与浮点数表示,其中可以对字长进行相关定义,可以选取字长为16位.24位.32位不同字长使用.而格式与字长决定了数据的精度与动态范围,同时也一定程度上决定了DSP处理器的功耗.成本与编程难度. 定点数:小数点位置为确定的. 浮点数:小数点位置可以改变. 定点运算的硬件实现较为简单,功耗较小,主要注意的是数据的定标.溢出以及误差. 浮点器减结构较为复杂,但是精度较高,高级语言容易支持. 2 定点数的格式与相关运

【C语言模拟实现】浮点数-转-定点数

要想超神,就要什么都精! 知识准备: 1. 输出浮点数的十六进制形式?(利用指针输出) 将浮点数指针-转换成-整型指针,以十六进制的格式输出指针内容. 示例程序: #include<stdio.h> int main() { float *var; scanf("%f",var); printf("%x",*((int*)var)); } 测试: 输入(float) 输出(十六进制) 二进制 8.25 41040000 0100 0001 0000 01

C++浮点数转换为定点数

笔者最近在编程的时候,要控制浮点数的精度进行计算和对比,在网上经过一系列查找后终于 在Csdn上面找到了相关的内容,虽然控制浮点数的精度后没有性能上的提升,笔者知道了如何修改 和控制浮点数的精度了,总的来说,每天要进步一点点. 代码如下: 1 #include "cuda_runtime.h" 2 #include "device_launch_parameters.h" 3 4 #include <stdio.h> 5 6 #include <i

Mysql数据类型

MySQL的数据类型 一.整数类型 整数类型 字节 取值范围 取值范围 tinyint 1 有符号 -128 无符号 0 有符号 127 无符号 255 Smallint 2 有符号 -32768 无符号 0 有符号 32767 无符号65535 mediumint 3 有符号 -8388608 无符号 0 有符号 8388607 无符号1677215 int,integer 4 有符号 -2147483648 无符号 0 有符号 2147483647 无符号4294967295 bigint

跟王老师学MySQL:MySQL数据类型之小数类型

跟王老师学MySQL:MySQL数据类型之小数类型 主讲教师:王少华   QQ群号:483773664 学习内容 小数类型有哪些以及它们的取值范围 定义语法中的M和D的含义 定点型和浮点型的区别 一.简介 MySQL中使用浮点数类型和定点数类型来表示小数. 浮点数类型包括单精度浮点数(FLOAT型)和双精度浮点数(DOUBLE型). 定点数类型就是DECIMAL型. 二.字节数.取值范围 三.定义语法 1 类据类型 (M,D) M:精度,数据的总长度 D:标度,小数点后的长度 注: 小数点不占长

MySQL入门很简单: 2 MySQL数据类型

2. MySQL数据类型 2.1 整数类型 后面的是默认显示宽度: tinyint(4) smallint(6) mediumint(9) int(11) bigint(20) 2.2 浮点型和定点数类型 MySQL可以指定浮点数和定点数的精度:    数据类型(M,D)  M:数据总长度, D:小数点后的长度

MySQL(四)之MySQL数据类型

一.数据类型概述 MySQL的数据类型有大概可以分为5种,分别是 整数类型.浮点数类型和定点数类型.日期和时间类型.字符串类型.二进制类型.现在可以来看看你对这5种类型的熟悉程度,哪个看起来懵逼了,那就说明自己哪个不熟悉,不理解. 注意:整数类型和浮点数类型可以统称为数值数据类型,这不难理解. 1)数值数据类型 整数类型:TINYINT.SMALLINT.MEDIUMINT.INT.BIGINT 浮点数类型:FLOAT.DOUBLE 定点小数:DECIMAL 2)日期/时间类型 YEAR.TIM