Java 和Oracle的数据类型

一、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类来进行精确计算

1  BigDecimal b1 = new BigDecimal(Double.toString(0.48));
2  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不可以

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

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

1 byte g = ‘b‘; // b对应ASCII是98
2 char h = (char) g;
3 char i = 85; // U对应ASCII是85
4 int j = ‘h‘; // h对应ASCII是104
5 System.out.println(g);     //98
6 System.out.println(h);     //b
7 System.out.println(i);      //U
8 System.out.println(j);      //104
				
时间: 2024-12-06 17:06:37

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

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

MySQL Data Type Oracle Data Type Java BIGINT NUMBER(19, 0) java.lang.Long BIT RAW byte[] BLOB BLOB, RAW byte[] CHAR CHAR java.lang.String DATE DATE java.sql.Date DATETIME DATE java.sql.Timestamp DECIMAL FLOAT (24) java.math.BigDecimal DOUBLE FLOAT (2

oracle中数据类型对应java类型

地址: http://otndnld.Oracle.co.jp/document/products/oracle10g/102/doc_cd/Java.102/B19275-03/datacc.htm#BHCJBJCC SQL数据类型 JDBC类型代码 标准的Java类型 Oracle扩展的Java类型   1.0标准的JDBC类型:     CHAR java.sql.Types.CHAR java.lang.String oracle.sql.CHAR VARCHAR2 java.sql.T

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

调用对象方法 调用对象方法基于类型创建表后,就可以在查询中调用对象方法 A. 创建基于对象的表语法: create   table   <表名>   of   <对象类型>意义:此表具有该类型和member方法的所有属性, 我们不能通过DBA   STUDIO的表数据编辑器来编辑数据. 例:create   table   FLIGHT_SCH_TAB   of   FLIGHT_SCH_TYPE insert   into   FLIGHT_SCH_TAB     values(

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

public class Test{public static void main (String args []){ java.util.Date a = new java.util.Date();System.out.println(a);java.sql.Date b = new java.sql.Date(a.getTime());System.out.println(b);java.sql.Time c = new java.sql.Time(a.getTime());System.o

java连接oracle数据库的实现代码

package connectionOracleDatabase; import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class ConnectionOracleDa

java 操作oracle 建表,更新记录

1.  建立表的类 import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.sql.PreparedStatement; public class lx01{ public static void main(String[] args) throws SQLException, ClassNotFoundE

【Oracle】Oracle基本数据类型总结

ORACLE基本数据类型(亦叫内置数据类型 built-in datatypes)可以按类型分为:字符串类型.数字类型.日期类型.LOB类型.LONG RAW& RAW类型.ROWID & UROWID类型. 在讲叙字符串类型前,先要讲一下编码.字符串类型的数据可依编码方式分成数据库字符集(CHAR/VARCHAR2/CLOB/LONG)和国际字符集(NCHAR/NVARCHAR2/NCLOB)两种.数据库中的字符串数据都通过字符集将字符转换为数字后(二进制),才存储到数据块中.通过不同的

Oracle自定义数据类型 1

原文 oracle 自定义类型 type / create type 一 Oracle中的类型 类型有很多种,主要可以分为以下几类: 1.字符串类型.如:char.nchar.varchar2.nvarchar2.2.数值类型.如:int.number(p,s).integer.smallint.3.日期类型.如:date.interval.timestamp.4.PL/SQL类型.如:pls_integer.binary_integer.binary_double(10g).binary_fl

Java调用Oracle存储Package

Oracle的包Package中可以有很多存储,可通过该包的总调入口在java中直接调用. //java调用oracle的package代码 public boolean cal() throws java.lang.Exception { CallableStatement cstmt = null; String procedure = "{call G_IMPORT_CAL.g_entry(?,?,?) }"; cstmt = conn.prepareCall(procedure