一、BigDecimal

BigDecimal 由任意精度的整数非标度值 和 32 位的整数标度 (scale) 组成。

如果为零或正数,则标度是小数点后的位数。

如果为负数,则将该数的非标度值乘以 10 的负 scale 次幂。

setScale(int n, roundingMode)方法

直接删除多余的小数位,如2.35会变成2.3 setScale(1,BigDecimal.ROUND_DOWN) 
进位处理,2.35变成2.4  setScale(1,BigDecimal.ROUND_UP) 
四舍五入,2.35变成2.4  setScale(1,BigDecimal.ROUND_HALF_UP) 
四舍五入,2.35变成2.3,如果是5则向下舍setScaler(1,BigDecimal.ROUND_HALF_DOWN)

浮点数没有办法是用二进制进行精确表示

CPU表示浮点数由两个部分组成:指数和尾数,这样的表示方法一般都会失去一定的精确度,有些浮点数运算也会产生一定的误差

java的float只能用来进行科学计算或工程计算,如果需要精确计算,非要用String来够造BigDecimal不可

在大多数的商业计算中,一般采用java.math.BigDecimal类来进行精确计算

  BigDecimal b1 = new BigDecimal(Double.toString(0.48));
BigDecimal b2 = BigDecimal.valueOf(0.48);

二、char, byte和Byte的区别

char 是字符数据类型 ,是无符号型的,占2字节(Unicode码 ); 大小范围 是0--65535; 可以表示一个整数,不能表示负数

char是一个16位二进制的Unicode字符,JAVA用char来表示一个字符

byte 是字节数据类型 ,是有符号型的,占1 个字节;大小范围为-128—127

1、char可以表中文字符,byte不可以

 char e1 = '中', e2 = '国';
byte f = (byte) '中'; // 必须强制转换否则报错
System.out.println(e1);
System.out.println(e2);
System.out.println(f); // 输出45?

2、char、byte、int对于英文字符,可以相互转化

 byte g = 'b'; // b对应ASCII是98
char h = (char) g;
char i = 85; // U对应ASCII是85
int j = 'h'; // h对应ASCII是104
System.out.println(g); //
System.out.println(h); //b
System.out.println(i); //U
System.out.println(j); //
												

Java 和Oracle的数据类型的更多相关文章

  1. JAVA,MYSQL,ORACLE的数据类型对比

    MySQL Data Type Oracle Data Type Java BIGINT NUMBER(19, 0) java.lang.Long BIT RAW byte[] BLOB BLOB,  ...

  2. oracle中数据类型对应java类型

    地址: http://otndnld.Oracle.co.jp/document/products/oracle10g/102/doc_cd/Java.102/B19275-03/datacc.htm ...

  3. java向oracle数据库中插入当前时间

    public class Test{public static void main (String args []){ java.util.Date a = new java.util.Date(); ...

  4. Oracle自定义数据类型 2 (调用对象方法)

    调用对象方法 调用对象方法基于类型创建表后,就可以在查询中调用对象方法 A. 创建基于对象的表语法: create   table   <表名>   of   <对象类型>意义 ...

  5. Oracle的学习三:java连接Oracle、事务、内置函数、日期函数、转换函数、系统函数

    1.java程序操作Oracle java连接Oracle JDBC_ODBC桥连接 1.加载驱动: Class.forName("sun.jdbc.odbc.JdbcodbcDriver& ...

  6. ORACLE抽象数据类型

    ORACLE抽象数据类型 *抽象数据类型*/1,抽象数据类型 概念包含一个或多个子类型的数据类型不局限于ORACLE的标准数据类型可以用于其他数据类型中 2,创建抽象数据类型 的语法(必须用NOT F ...

  7. Oracle 基本操作--数据类型、修改和删除表、增删改查和复制表

    一.Oracle基础数据类型:数据类型: 创建数据表时,设计数据表的结构问题,也就是设计及确定数据表中各个列的数据类型,是数值.字符.日期还是图像等其他类型. 因为只有设计好数据表结构,系统才会在磁盘 ...

  8. Caused by: java.sql.SQLSyntaxErrorException: ORA-00932: 数据类型不一致: 应为 NUMBER, 但却获得 BINARY

    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvo ...

  9. java.sql.SQLSyntaxErrorException: ORA-00932: 数据类型不一致: 应为 NUMBER, 但却获得 BINARY

    2019-07-24 17:24:35 下午 [Thread: http-8080-4][ Class:net.sf.ehcache.store.disk.Segment Method: net.sf ...

随机推荐

  1. 使用过滤器(Filter)解决请求参数中文乱码问题(复杂方式)

    前述:      在写这篇笔记之前,对笔记中的设计模式进行介绍:      本篇笔记中将要使用到的设计模式是:装饰(包装)设计模式           (1)装饰(包装)设计模式口诀:         ...

  2. MVC 创建Word文档

    /// <summary> /// 创建一个word /// </summary> /// <returns></returns> public Act ...

  3. LDA,PCA阅读资料

    1,线性判别分析(Linear Discriminant Analysis)(一) 2,机器学习中的数学(4)-线性判别分析(LDA), 主成分分析(PCA) 3,Machine Learning i ...

  4. hadoop伪分布式安装

    hadoop的伪分布安装:一台实体机或虚拟机的安装. 环境:Windows7.VMWare.CentOS 1.1 设置ip地址 说明:在CentOS中的网络的类型: 仅主机模式:虚拟机在Windows ...

  5. Redis 密码设置和登录

    Redis 一般在生产环境中,大家都不使用密码,为了确保安全,都是在防火墙上对redis端口做IP白名单的 我是个技术控,我非得了解一下密码这回事[虽然以后不会用到,呵呵] 好了,废话不多说,简单介绍 ...

  6. vsftp访问异常

    在LINUX下vsftp建立一个FTP服务器,但通过ftp的命令控制台使用FTP时,ls无法查看目录, 当然更无法上传下载文件了! 出错如下 : ftp> ls 227 Entering Pas ...

  7. Best Grass

    Description Bessie is planning her day of munching tender spring grass and is gazing out upon the pa ...

  8. python WEB接口自动化测试之requests库详解

    由于web接口自动化测试需要用到python的第三方库--requests库,运用requests库可以模拟发送http请求,再结合unittest测试框架,就能完成web接口自动化测试. 所以笔者今 ...

  9. PAT (Advanced Level) 1051. Pop Sequence (25)

    简单题. #include<iostream> #include<cstring> #include<cmath> #include<algorithm> ...

  10. php各项下载地址

    Apache2.4下载地址  http://www.apachehaus.com/cgi-bin/download.plx PHP5.6下载地址  http://php.net/downloads.p ...