精华内容
下载资源
问答
  • 他们被用于保存值,该值的准确精度是极其重要的值,例如与金钱有关的数据。当声明一个类是这些类型之一时,精度和规模的能被(并且通常是)指定;例如: salary DECIMAL(9,2) 在这个例子中,9(precisi...

    一般用decimal,长度18,保存2位小数,具体看业务
    在java的开发中,货币在数据库中MySQL常用Decimal和Numric类型表示,这两种类型被MySQL实现为同样的类型。他们被用于保存值,该值的准确精度是极其重要的值,例如与金钱有关的数据。当声明一个类是这些类型之一时,精度和规模的能被(并且通常是)指定;例如:

    salary DECIMAL(9,2)

    在这个例子中,9(precision)代表将被用于存储值的总的小数位数,而2(scale)代表将被用于存储小数点后的位数。因此,在这种情况下,能被存储在salary列中的值的范围是从-9999999.99到9999999.99。

           DECIMAL和NUMERIC值作为字符串存储,而不是作为二进制浮点数,以便保存那些值的小数精度。一个字符用于值的每一位、小数点(如果scale>0)和“-”符号(对于负值)。如果scale是0,DECIMAL和NUMERIC值不包含小数点或小数部分。
    
           不使用float或者double的原因:因为float和double是以二进制存储的,所以有一定的误差。
    

    比如:在数据库中c1,c2,c3分别存储类型是float(10.2),decimal(10.2),float类型。
    插入数据:
    在这里插入图片描述
    INTO test (c1,c2,c3) VALUES (1234567.23,1234567.23,1234567.23)
    在这里插入图片描述

    展开全文
  • 数据结构、数据类型、抽象数据类型之间的区别

    千次阅读 多人点赞 2019-11-03 20:15:37
    数据元素是最基本的数据单位,最基本的数据元素是一个二进制位。) 逻辑结构指反映数据元素之间的逻辑关系的数据结构,其中的逻辑关系是指数据元素之间的前后件关系,而与他们在计算机中的存储位置无关。包括: ...

    三者的定义(蓝字可忽略):

    • 数据结构:是相互之间存在一种或多种特定关系的数据元素的集合,包括逻辑结构和物理结构。(数据元素是最基本的数据单位,最基本的数据元素是一个二进制位。)
      • 逻辑结构指反映数据元素之间的逻辑关系的数据结构,其中的逻辑关系是指数据元素之间的前后件关系,而与他们在计算机中的存储位置无关。包括: 
        • 1.集合:数据结构中的元素之间除了“同属一个集合” 的相互关系外,别无其他关系; 
        • 2.线性结构:数据结构中的元素存在一对一的相互关系; 
        • 3.树形结构:数据结构中的元素存在一对多的相互关系; 
        • 4.图形结构:数据结构中的元素存在多对多的相互关系。
      • 物理结构:指数据的逻辑结构在计算机存储空间的存放形式。 
        • 数据的物理结构是数据结构在计算机中的表示(又称映像),它包括数据元素的机内表示和关系的机内表示。由于具体实现的方法有顺序、链接、索引、散列等多种,所以,一种数据结构可表示成一种或多种存储结构。 
        • 数据元素的机内表示(映像方法): 用二进制位(bit)的位串表示数据元素。通常称这种位串为节点(node)。当数据元素有若干个数据项组成时,位串中与个数据项对应的子位串称为数据域(data field)。因此,节点是数据元素的机内表示(或机内映像)。 
        • 关系的机内表示(映像方法):数据元素之间的关系的机内表示可以分为顺序映像和非顺序映像,常用两种存储结构:顺序存储结构和链式存储结构。顺序映像借助元素在存储器中的相对位置来表示数据元素之间的逻辑关系。非顺序映像借助指示元素存储位置的指针(pointer)来表示数据元素之间的逻辑关系。 
    • 数据类型:是一个值的集合以及定义在这个值集上的一组操作。数据类型的分类为:原子类型和结构类型。
      • 为什么要有数据类型:计算机中内存也是有限的,为了提高内存使用效率,不浪费空间,自然是需要设计出数据类型来划定多大数据占多大内存空间,就有了数据类型。
    • 抽象数据类型:抽象数据类型(Abstract Data Type 简称ADT)是指一个数学模型以及定义在此数学模型上的一组操作。抽象数据类型需要通过固有数据类型(高级编程语言中已实现的数据类型,如int,float等)来实现。抽象数据类型是与表示无关的数据类型,是一个数据模型及定义在该模型上的一组运算。

    数据结构和数据类型的区别:

    • 数据类型的分类为:原子类型和结构类型;
      • 原子类型 = 一种值的集合 + 定义在值集合上的一组操作。(比如:int,float,字符串)
        • int型:包括值集(1,2,3,4,5。。。),并且可以在这些值上进行+-*/
      • 结构类型 = 一种数据结构 + 定义在这种数据结构上的一组操作。(比如:python中的列表,字典,元组)
      • 原子类型 + 结构类型 = 数据类型
    • 总结:数据结构是一种值(值=数据元素)的集合(根据数据结构的定义,只是给“值的集合”加了个约束:数据元素相互之间存在一种或多种特定关系,所以可以把数据结构看作一种值的集合),这种值集+定义在值集上的一组操作就是结构类型,而结构类型是数据类型的一种,所以数据结构是一种数据类型。
    • 数据结构可以看成是数据类型的一个子集(如下图):

    数据类型与抽象数据类型的区别:

    • 数据抽象的意义在于数据类型的数学抽象特性。抽象数据类型和数据类型实质上都是概念,只不过抽象数据类型是对数据类型的进一步抽象。不仅限于各种不同的计算机处理器中已经实现的数据类型,还包括为解决更为复杂的问题而由用户自定义的复杂数据类型。不仅限于各种不同的计算机处理器中已经实现的数据类型,还包括为解决更为复杂的问题而由用户自定义的复杂数据类型。如:C++中的类就是抽象数据类型的一种具体实现。
    • 通俗的讲:抽象数据类型,泛指除基本数据类型以外的数据类型。
      • 什么叫类型?就是一类数据。基本数据类型被人做是最基本地,不可再划分的数据,一般就是整形、浮点型、以及字符型。抽象数据类型是由若干基本数据类型归并之后形成的一种新的数据类型,这种类型由用户定义,功能操作比基本数据类型更多,一般包括结构体和类。其实说白了,抽象数据类型就是把一些有一定关联的基本数据类型打包,然后当做新的数据类型使用。
      • 抽象数据类型的用处:比如你要实现对一个人地信息管理,如果你只用基本数据类型那么你需要定义很多数据类型的变量比如名字、性别、出生地、生日之类的,并且操作起来不方便。如果用抽象数据来实现就简单了,直接把这些信息放包装在一个新的数据类型中,然后就可以直接定义这样的一个变量就可以了。

    如果还不清楚两者的区别的话可以参考一下这篇文章:https://blog.csdn.net/weixin_42257806/article/details/80892797

    数据结构和抽象数据类型之间的区别:

    • “数据结构”定义为一个二元组(D,S),即两个集合,D是数据元素的集合,S是数据元素之间一个或多个关系的集合。
    • “抽象数据类型”本质是“数据类型”,与计算机相关,涉及数据的存储及如何用存储来反应数据元素之间的关系。它定义为一个三元组(D,S,P),加上的P是定义的一组针对存储的数据操作(如插入,删除,排序等)。
    • 总之“抽象数据类型”是“物理”概念,“数据结构”是“逻辑”概念。“抽象数据类型”来实现“数据结构”。

    上面就是对数据结构、数据类型、抽象数据类型之间的区别的说明,若有错误,欢迎指正。

    展开全文
  • JS数据类型之基本数据类型

    万次阅读 多人点赞 2019-06-28 16:46:43
    一、数据类型简介: 1.JavaScript(以下简称js)的数据类型分为两种:原始类型(即基本数据类型)和对象类型(即引用数据类型); 2.js常用的基本数据类型包括undefined、null、number、boolean、string; 3.js的...

    一、数据类型简介:

    1.JavaScript(以下简称js)的数据类型分为两种:原始类型(即基本数据类型)和对象类型(即引用数据类型);

    2.js常用的基本数据类型包括undefined、null、number、boolean、string;

    3.js的引用数据类型也就是对象类型Object,比如:Object、array、function、data等;

    二、基本数据类型特点:

    1.基本数据类型是按值访问的,就是说我们可以操作保存在变量中的实际的值;

    2.基本数据类型的值是不可变的,任何方法都无法改变一个基本数据类型的值,比如一个字符串:

      let name = 'zhangsan'
      name.substr()
      console.log(name) // 输出:zhangsan
      let age = 'firstblood'
      age.toUpperCase()
      console.log(age) // 输出:firstblood

    通过上面的例子,我们可以发现原来定义的变量name的值始终没有发生改变,而调用substr()和toUpperCase()方法后返回的是一个新的字符串,跟原来定义的变量name并没有什么关系。

    再看下面的代码:

      let name = 'zhangsan'
      name = 'lisi'
      console.log(name) // 输出:lisi

    上面的例子看来name的值好像“改变了”,这里的基础数据类型是string,也就是“zhagnsan”,这里的“zhangsan”是不可以改变的,name只是指向“zhagnsan”的一个指针,指针的指向不可以改变,所以下面的name = 'lisi',将name指向了“lisi”,这里的“lisi”也是不可以改变的。也就是说这里的改变只是“指针指向的改变”。

    3.基本数据类型不可以添加属性和方法:

      let user = 'zhangsan'
      user.age = 18
      user.method = function () {
        console.log('12345')
      }
      console.log(user.age) // 输出:undefined
      console.log(user.method) // 输出:undefined

    上面的代码可以看出,基本数据类型是不能添加属性和方法的,再次说明基本数据类型是不可变的。

    4.基本数据类型的赋值是简单的赋值(如果从一个变量向另一个变量赋值基本类型的值,会在变量对象上创建一个新值,然后把该值赋值到位新变量分配的位置上):

      let a = 18
      let b = a
      a++
      console.log(a) // 输出:19
      console.log(b) // 输出:18

    上面的代码,a中保存的值是18,当使用a的值来初始化b时,b中也保存了值18,但是b中的18和a中的18完全是独立的,b中的值只是a中值的一个副本,所以这两个变量可以参与任何操作而不会相互影响。

    5.基本数据类型的比较是值的比较:

      var a = '{}'
      var b = '{}'
      console.log(a === b) // 输出:true

    6.基本类型的值在内存中占据固定大小的空间,被保存在栈内存中。(从一个变量向另一个变量复制基本类型的值,会创建这个值的一个副本);

    假如有以下几个基本类型的变量:

      let name = 'zhangsan'
      let age = 18
      let weight = '60kg'

    他的存储结构如下图(栈区包括了变量的标识符和变量的值):

    三、基本数据类型详解:

    1.number类型

    ①number类型包含整数和浮点数(浮点数数值必须包含一个小数点,且小数点后至少有一位数字)。

    浮点数会自动转换为整数,如下:

      let num = 1.00
      console.log(num) // 输出:1,自动转换为了整数

    ②浮点数的最高精度是17位,看下面的例子:

      let a = 0.1
      let b = 0.2
      console.log(a + b) // 输出:0.30000000000000004

    上面的例子,结果竟然不是0.3,至于其他变成语言,也会遇到这种情况(关于浮点数计算会产生误差问题,其他有些变成语言也会出现类似情况。)

    ③NaN:非数字类型,特点:涉及到任何关于NaN的操作,都会返回NaN,而且NaN不等于自身。如下:

      let name = 'lisi'
      console.log(name / 10) // 输出:NaN
      console.log(NaN === NaN) // 输出:false

    ④isNaN()函数用于判断是否是一个非数字类型,如果传入的参数是一个非数字类型,那么返回true,否则返回false;

    ⑤isNaN()函数传入一个参数,函数会先将参数转换为数值,如果参数类型为对象类型,会先调用对象的valueOf()方法,再确定该方法返回的值是否可以转换为数值类型,如果不能,再调用对象的toString()方法,再确定返回值;

    ⑦数值转化:

    Number(),转型函数,可以用于任何数据类型

    parseInt(),将值转换为整型,用的较多

    parseFloat(),将值转换为浮点型

    2.string类型

    ①字符串类型中的单双引号作用一样;

    ②字符串有length属性,可以取得字符串的长度:

      let str = 'Hello world'
      console.log(str.length) // 输出:11

    ③字符串的值是不可变的,要改变一个字符串的值,首先要销毁原来的字符串,再用另一个包含新值得字符串区填充该字符串;

    ④字符串转换:

    String(),转型函数,适用于任何数据类型(null,undefined转换后为null和undefined)

    toString()方法可以把一个逻辑值转换为字符串,并返回结果(null、undefined没有toString()方法)

      let ab = 'zhangsan'
      let bc = null
      let cd = undefined
      console.log(ab.toString())  // 输出:zhangsan
      // console.log(bc.toString())  // error 报错
      // console.log(cd.toString())  // error 报错
      console.log(String(ab))  // 输出:zhangsan
      console.log(String(bc))  // 输出:null
      console.log(String(cd))  // 输出:undefined

    3.boolean类型

    ①这个类型只有两个值,true和false;

    ②Boolean(),转型函数,将某个值转换为Boolean类型

    4.null类型

    ①null类型被看做空对象指针,只有一个值,即null值,所以在用typeof操作符去检测null类型的值得时候,结果是object类型;

    ②如果你定义了一个变量,但是想在以后把这个对象当做一个对象来使用,最好将该对象初始化为null值

    5.undefined类型

    ①只有一个值,即undefined,如果声明了一个变量,但是未给变量初始化值,那么这个变量的值就是undefined:

      let name = 'zhangsan'
      let age
      console.log(name) // 输出:zhangsan
      console.log(age) // undefined,因为声明了age,但是没有给初始化值

    ②调用函数时,应该提供的参数没有提供,该参数等于undefined;

    ③对象没有赋值的属性,该属性的值为undefined;

    ④函数没有返回值,默认返回undefined。

     

     

     

    参考文章:

    https://mp.weixin.qq.com/s/YMpKnUUKPPIG6FD6CGzfTg  

    http://www.jb51.net/article/101341.htm

    展开全文
  • 在学习数据结构类型时,首先遇到的一个难点即是如何理解抽象数据结构类型。...抽象数据类型需要通过固有数据类型(高级编程语言中已实现的数据类型)来实现。对一个抽象数据类型进行定义时,必须给出...

    在学习数据结构类型时,首先遇到的一个难点即是如何理解抽象数据结构类型。通过阅读多个博客,将个人理解总结如下:

    如已看过抽象数据类型定义,可直接跳过定义。
    抽象数据类似的定义
    抽象数据类型(Abstract Data Type 简称ADT)是指一个数学模型以及定义在此数学模型上的一组操作。抽象数据类型需要通过固有数据类型(高级编程语言中已实现的数据类型)来实现。对一个抽象数据类型进行定义时,必须给出它的名字及各运算的运算符名,即函数名,并且规定这些函数的参数性质。一旦定义了一个抽象数据类型及具体实现,程序设计中就可以像使用基本数据类型那样,十分方便地使用抽象数据类型。

    如何理解?
    1, 抽象数据类型 = 逻辑结构+数据运算。逻辑结构不涉及数据在计算机中具体的实现和存储,这些操作是由存储结构决定的,这就是说,抽象数据类型只需考虑问题本身即可。

    均以买衣服的例子进行解释:在买衣服砍价时,自己需要将砍价这个事情抽象为语句(即构建模型)表达出来(操作),而不需要考虑卖家能否接受自己说的话(不需要考虑计算机如何处理)。

    2,类型是指一类数据。基本数据类型被人做是最基本地,不可再划分的数据,一般就是整形、浮点型、以及字符型。抽象数据类型是由若干基本数据类型归并之后形成的一种新的数据类型,这种类型由用户定义,功能操作比基本数据类型更多,一般包括结构体和类。

    例:要表达的语句中,应包含“动词”,“衣服名称”,“价格数字”等类型。也就是说,说的语句是由许多基本类型组成。

    3,抽象数据类型是在在不涉及具体的,和计算机系统相关的细节情况下,优先理解问题本身,在此基础上,实现用计算机求解问题的过程。这就是使用抽象数据类型的目的。

    例:我将砍价的语句说出来目的就是为了能够便宜点买衣服,将话说出来也便于卖家了解我的想法(便于计算机进行处理)。

    再举一个别的博客里面的例子:
    构建抽象数据类型复数(e1+e2i)

    这里是引用

    通过上例可知,问题是要将复数加法描述出来,而抽象数据类型就是在这种形式化的描述下把数据的组成和如何操作的问题描述清楚,且没有涉及到具体的计算机具体实现的一些问题。从数据对象中看出,抽象数据类型是由实数数据类型组成。另外,右侧c++代码是在通过抽象数据类型ADT描述清楚问题本身后,然后在此基础上设计高级程序语言中具体实现的过程,在这个阶段涉及到了计算机的具体实现和存储等因素。从此可知,该例子也符合上文中提出的3点对抽象数据类型理解的看法。

    参考博客1
    参考博客2
    百度百科

    展开全文
  • 一般用decimal,长度18,保存2位小数,具体看业务 转载:https://blog.csdn.net/tutu_flying_pig/article/details/82706956
  • 关于精度的问题 double跟float能取到的精度范围有限 会产生000000000000001或者9999999998的情况 为了避免上述情况 一般涉及到金额计算我们会采用BigDecimal进行转化 如下图: ...
  • 基本数据类型和引用数据类型的区别

    千次阅读 多人点赞 2018-03-18 21:35:18
    javascript中基本数据类型和引用数据类型的区别1、基本数据类型和引用数据类型 ECMAScript包括两个不同类型的值:基本数据类型和引用数据类型。 基本数据类型指的是简单的数据段,引用数据类型指的是有多个值构成...
  • MySQL数据类型详解

    万次阅读 多人点赞 2018-08-13 16:40:22
    上一篇博客中我们学习了MySQL的基础知识以及表结构的相关操作,知道了MySQL中常用的数据类型有数值型、字符串型、日期时间类型 下面我们来使用一下这些数据类型。 数值类型 首先数值类型分为整型和浮点型 我们...
  • 基本数据类型和封装类型的区别

    千次阅读 多人点赞 2019-09-23 13:27:34
    基本数据类型和封装类型的区别基本数据类型基本数据类型介绍封装数据类型基本数据类型对应的封装类介绍基本数据类型与封装类对应关系对照表String类他们的区别总结合理的创建标题,有助于目录的生成如何改变文本的...
  • BigDecimal类型用来处理精度更高的数据涉及到和金钱有关的,要很精确,严格来说,要用BigDecimal这中类型对应数据库中的decimal类型 用BigDecimal类型,不能像int类型直接用符号(+,-,*,/)进行运算,...
  • java基本数据类型范围

    万次阅读 2019-07-05 13:04:44
    //以下数据类型涉及到数据转换不包括字符类型和逻辑类型:这些类型精度由高到低是:byte,short,int,long,flaot,double //把高精度的数据赋值给低精度变量的数据时,必须使用显式抓换。 //执行显式转换的时候...
  • Java中存储金额用什么数据类型

    千次阅读 2020-10-31 08:24:42
    很早之前, 记得一次面试, 面试官问存储金钱用什么数据类型? 当时只知道8种数据类型(boolean, byte, short, int, long, float, double, char)的我, 回答了double, 因为我觉得double是双精度类型, 最适合, 但是面试官...
  •     模型是现实世界特征的模拟和抽象。在数据库技术中,用数据模型的概念描述数据库的...    现实世界主要涉及以下一些概念:     (1)实体(Entity)     客观存在并可相互区别的事物称为实体。...
  • python flask web开发入门与项目实战

    千人学习 2019-12-15 19:02:04
    如果采用成熟、稳健的框架,那么一些诸 如安全性、数据流控制等类型的基础性工作都可以让框架来处理,而程序开发人员则可以把更多的精力放在具体业务逻辑功能的实现和优化上。        使用Flask...
  • java开发中,一般涉及到金钱计算的时候用什么数据类型?精度尽量高
  • 数据类型 数据类型是一个值的集合和定义在此集合上的一组操作的总称。 例如c语言中的整型,浮点型,他们的取值范围不同,进行运算时所遵循的规范也不同 抽象数据类型 抽象数据类型=逻辑结构+抽象运算 抽象数据类型...
  • 5-抽象数据类型(ADT)

    千次阅读 多人点赞 2018-05-25 11:40:53
    1. 以数据为核心的思维   在现实中计算机能够解决非常多的问题,如图1所示,可以用计算机去实现一个GIS地理信息系统,也可以实现一个电子病历系统,或者实现一个计算机管理资源的图形化界面等。包括现在我们使用...
  • Java 中的基本数据类型有哪些?

    千次阅读 2019-08-12 09:25:58
    此处大家要注意一下各个类型所对应的默认值,有的面试官可能不止会问到你有哪几种数据类型,还会涉及到一些初始值的问题。 类型转换 另外我们还需要注意一个特性: 整型、实型(常量)、字符型数据可以进行...
  • 关于 Access 数据库数据类型

    千次阅读 2017-08-16 20:52:26
    关于 Access 数据库数据类型根据以下条件决定字段应使用哪种数据类型数据类型:决定字段可拥有的数据类型的字段特征。数据类型包括 Boolean、Integer、Long、Currency、Single、Double、Date、String 和 Variant...
  • SparkSql 数据类型转换

    千次阅读 2019-09-18 10:40:08
    数据类型转换这个在任何语言框架中都会涉及到,看起来非常简单,不过要把所有的数据类型都掌握还是需要一定的时间历练的 SparkSql数据类型 数字类型 ByteType:代表一个字节的整数。范围是-128到127 ShortType:...
  • 从基本数据类型到抽象数据类型

    千次阅读 2018-07-03 14:49:40
    在冯 · 诺依曼体系结构中,程序代码和数据都是以二进制存储的,因此,对计算机系统和硬件本身而言,数据类型的概念其实是不存在的。机器指令和汇编语言中,数据对象是用二进制数表示的,内存里存的都是二进制,对于...
  • js数据类型:基本数据类型和引用数据类型(文章最下面会介绍各类型的基础以及注意事项) 基本数据类型指的是简单的数据段,引用数据类型指的是有多个值构成的对象 当我们把变量赋值给一个变量时,解析器首先要确认...
  • 【前端】—JS 中的数据类型

    千次阅读 2018-04-22 21:24:38
    前言  &...Java Script中的数据类型分为6种,两类:简单数据类型和复杂数据类型,简单数据类型包括 Number、Undefined、Null、Boolean 和String,复杂数据类型是Object。 数据类型...
  • 人们在使用计算机解决客观世界中存在的具体问题时,通常过程如下:首先通过对客观世界的认知形成印象和概念从而得到了信息,在此基础上... 数据结构主要与在上述过程中从建立概念模型到实现模型转化并为后续程序设...
  • SQLServer数据类型及使用分析

    千次阅读 2018-08-17 17:30:22
    原文地址:... SQL Server数据类型 SQL Server 提供了 25 种数据类型:  ·Binary [(N)]  ·Varbinary [(N)]  ·Char [(N)]  ·Varchar[(N)]  ·Nchar[(N)]  ·Nvarchar[(N)]  ·Dateti...
  • JavaScript中基本数据类型和引用数据类型的区别

    千次阅读 多人点赞 2018-01-06 11:09:53
    1、基本数据类型和引用数据类型  ECMAScript包括两个不同类型的值:基本数据类型和引用数据类型。  基本数据类型指的是简单的数据段,引用数据类型指的是有多个值构成的对象。  当我们把变量赋值给一个变量时...
  • 所有语言的基本数据类型就是那么几种,因为之前一直从事移动端,在学习js的过程中,总结一下js的基本类型及用法。 JavaScript 数据类型:字符串、数字、布尔,对象、Null、Undefined 1.String(字符串): 字符...
  • 【大数据】Hive: 获取字段数据类型

    千次阅读 2018-12-01 23:48:04
    某项目涉及将Hive中的textFile表转换成parquet表,由于parquet表不支持date类型,需要判断字段是否是date,并cast成timestamp。 方法 采用DESCRIBE语句1既可: DESCRIBE [FORMATTED] [db_name.]table_name[.complex_...
  • 数据类型转化(详解与代码)

    千次阅读 2019-05-06 10:56:15
    自动类型转换指的是容量小的数据类型可以自动转换为容量大的数据类型,如下图,红色实线表示无数据丢失的自动类型转换,而蓝色虚线表示在转换时可能会有精度的损失。 这里的容量并不是指占用字节数的大小,而是...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 718,873
精华内容 287,549
关键字:

数据类型涉及钱