Java 中类型转换

int -> String

int i=12345;

String s="";

第一种方法:s=i+"";

第二种方法:s=String.valueOf(i);

这两种方法有什么区别呢?作用是不是一样的呢?是不是在任何下都能互换呢?

String
-> int

s="12345";

int i;

第一种方法:i=Integer.parseInt(s);

第二种方法:i=Integer.valueOf(s).intValue();

String
-> float

Float.parseFloat(name)

String -> Date

java.text.SimpleDateFormat formatter = new SimpleDateFormat( "yyyy-MM-dd ");
String s= "2011-07-09 "; 
Date date =  formatter.parse(s);

Date->String

java.text.SimpleDateFormat formatter = new SimpleDateFormat( "yyyy-MM-dd ");
String date = formatter.format(new Date());//格式化数据

BigDecimal<-->String

String StrBd="1048576.1024";

BigDecimal bd=new BigDecimal(StrBd);        // 转换为bigdecimal

bd=bd.setScale(2, BigDecimal.ROUND_HALF_UP);    //设置小数位数,第一个变量是小数位数,第二个变量是取舍方法(四舍五入)

String OutString=bd.toString();      //转化为字符串

时间: 2024-10-07 10:22:37

Java 中类型转换的相关文章

Java中类型转换相关

float a = 1.5; //错误:1.5被默认为double型,double不能自动转换成float型,需要强制转换 float b = 1.5f; //编译通过 byte = 1; //编译通过 /* 因为java中对于默认值为int型的数值,当赋值给当赋给一个比int型数值范围小的数值类型变量(在此统一称为数值类型k,k可以是byte/char/short类型),会进行判断,如果此int型数值超过数值类型k,那么会直接编译出错.因为你将一个超过了范围的数值赋给类型为k的变量,k装不下嘛

JAVA中的类型转换

JAVA中类型转换的基本原则在于,(布尔型除外,无法转换)低精确度或者说小范围的类型可以自动地转为高精度或者大范围的类型,反之则需要强制转换.如图所示,左边的类型可以自动转换为右边的类型(一般发生在与大范围的类型的运算中),反之则需要强制转换. 图片来源(http://www.cnblogs.com/lwbqqyumidi/p/3700164.html) 如下题LeetCode 400. Nth Digit中,第七行会报错,可以看到count是long,len是int,两数相乘时len会自动变为

JAVA中int、String的类型转换

int -> String int i=12345;String s="";第一种方法:s=i+"";第二种方法:s=String.valueOf(i);这两种方法有什么区别呢?作用是不是一样的呢?是不是在任何下都能互换呢? String -> int s="12345";int i;第一种方法:i=Integer.parseInt(s);第二种方法:i=Integer.valueOf(s).intValue();这两种方法有什么区别

java中强制类型转换

在Java中强制类型转换分为基本数据类型和引用数据类型两种,这里我们讨论的后者,也就是引用数据类型的强制类型转换. 在Java中由于继承和向上转型,子类可以非常自然地转换成父类,但是父类转换成子类则需要强制转换.因为子类拥有比父类更多的属性.更强的功能,所以父类转换为子类需要强制.那么,是不是只要是父类转换为子类就会成功呢?其实不然,他们之间的强制类型转换是有条件的. 当我们用一个类型的构造器构造出一个对象时,这个对象的类型就已经确定的,也就说它的本质是不会再发生变化了.在Java中我们可以通过

关于Java中的基本数据类型转换

Java中的基本类型有四种,其中整型分为byte.short.int.long,浮点型分为float.double,字符型char,布尔型boolean.8种类型的级别由低到高byte->short/char->int->long->float->double. Java中的基本数据类型转换分为隐式类型转换(自动类型转换)和显式类型转换(强制类型转换). 隐式类型转换是将一个较低级别的值或变量赋给一个较高级别的变量,在这种情况下,Java会自动地将较低级别的变量或值转换成与较

解密Java中的类型转换问题

众所周知Java中的数据类型是强数据类型,基本数据类型之间的转换尤其固定的规则,当数据宽度比较窄的数据类型(如int)转换成数据类型比较宽的数据类型时(如double),则窄的数据类型会加宽,可以完成自动类型转换,这称为隐式转换. 如:以下代码没有任何问题,结果也是正确的,成绩不会发生变化,所不同的是成绩的精度提高了. intintScore = 96; doubledoubleScore = intScore; 那么如果试图把宽的数据类型(如double)转换成窄的数据类型(如float)时,

Java中数据类型转换问题

boolean类型不可以转换为替他的数据类型. Java中byte(8位).short(16位).char三种类型的优先级是相同的,相同优先级之间是不能进行自动转换的(如果相互转换的话,必须强制类型转换),只能将低类型自动转换为高类型,例如,可以将byte自动转换为int类型.(char 在java中是2个字节.java采用unicode,2个字节(16位)来表示一个字符. 再将char类型的数据赋给高优先级类型时,这时会自动类型转换,并且将该char的unicode编码赋给高优先级类型的变量)

Java中int与String间的类型转换

int -> String int i=12345;String s=""; 除了直接调用i.toString();还有以下两种方法第一种方法:s=i+"";第二种方法:s=String.valueOf(i);这两种方法有什么区别呢?作用是不是一样的呢?是不是在任何下都能互换呢? String -> int s="12345";int i;第一种方法:i=Integer.parseInt(s);第二种方法:i=Integer.valu

Java基础知识强化22:Java中数据类型转换

数据类型转换: (1). 自动转换 低级变量可以直接转换为高级变量,这叫自动类型转换.比如: byte b: int b:  long b:  float b:   double  b: 上面的语句可以在Java中直接通过. (2).如果低级类型为char型,向高级类型(整型)转换时候,会转换为对应的ASCII码值,例如: char c ='c':  int i = c:  System.out.println("output:"+i): 输出: output:99 (3).对于byt