Java 数据类型转换,String->float,float->int ,String<->int (2013-07-24 14:01:57)
来源:互联网 发布:淘宝上口碑好的茶叶店 编辑:程序博客网 时间:2024/05/18 03:58
Java 数据类型转换,String->float,float->int
(2013-07-24 14:01:57)java
简单类型
类型转换
浮点数与0
分类: JavaString sourceStr = "0.0";
String类型
float sourceF = Float.valueOf(sourceStr);
float sourceF = new Float(sourceStr);
float sourceF = Float.parseFloat(sourceStr);
String
float类型
int sourceI = (Float.valueOf(sourceStr)).intValue();
int sourceI = (int)sourceF ;
float转换为
int类型
float类型数据与0比较:
if(sourceF>0.0)
else if(sourceF<0.0)
else if(sourceF==0.0)
System.out.print(result+"\n");
当source = 0.0时,输出的确实是Unknown。说明第三个if语句为真。
=============================================================================================
浮点数与0比较
const float EPSINON = 0.000001;
if ((x >= - EPSINON) && (x <= EPSINON))
浮点型变量并不精确, 其中EPSINON是允许的误差 (即精度) , 所以不可将float变量用“==”或“!=”与数字比较,应该设法转化成“>=”或“<=”形式。
如果写成if (x == 0.0) ,则是错误的。 因为1.0在计算机中可能存为0.999999或1.00001等,很难恰好是1.0
===========================================================================================
http://cherryqq.iteye.com/blog/334855
1.Java的简单类型及其封装器类
⑴Java简单类型与封装类
Java决定了每种简单类型的大小。这些大小并不随着机器结构的变化而变化。这种大小的不可更改正是Java程序具有很强移植能力的原因之一。
下表列出了Java中定义的简单类型、占用二进制位数及对应的封装器类。
表 Java中的简单类型
简单类型
boolean
byte
char
short
int
Long
Float
Double
void
二进制位数
1
8
16
16
32
64
32
64
--
封装器类
Boolean
Byte
Character
Short
Integer
Long
Float
Double
Void
⑵为什么使用封装类
Vector v=new Vector();
int k=121;
v.addElemt(new Integer(k));
============================================
============================================
2.简单数据类型之间的转换
简单类型数据间的转换,有两种方式:自动转换和强制转换,通常发生在表达式中或方法的参数传递时。
⑴自动转换
具体地讲,当一个较“小”数据与一个较“大”的数据一起运算时,系统将自动将“小”数据转换成“大”数据,再进行运算。而在方法调用时,实际参数较“小”,而被调用的方法的形式参数数据又较“大”时(若有匹配的,当然会直接调用匹配的方法),系统也将自动将“小”数据转换成“大”数据,再进行方法的调用,自然,对于多个同名的重载方法,会转换成最“接近”的“大”数据并进行调用。
这些类型由“小”到“大”分别为 (byte,short,char)--int--long--float—double。这里我们所说的“大”与“小”,并不是指占用字节的多少,而是指表示值的范围的大小。
请看下面的示例:
①下面的语句可以在Java中直接通过:
byte b;
int i=b;
long l=b;
float f=b;
double d=b;
②如果低级类型为char型,向高级类型(整型)转换时,会转换为对应ASCII码值,例如
char c='c';
int i=c;
System.out.println("output:"+i);
输出:output:99;
③对于byte,short,char三种类型而言,他们是平级的,因此不能相互自动转换,可以使用下述的强制类型转换。
short i=99 ;
char c=(char)i;
System.out.println("output:"+c);
输出:output:c;
④对象多态中若有方法:
f(byte x){……};
f(short x) {……};
f(int x) {……};
f(long x) {……};
f(float x) {……};
f(double x) {……};
又有:char y=’A’;那么,语句f(y)会调用哪一个方法呢?答案是:f(int x) {……}方法,因为它的形参比实参“大”且是最“接近”的。
而对于方法:
f(float x) {……};
f(double x) {……};
又有:long y=123L;那么,语句f(y)调用的方法则是f(float x) {……}。
⑵强制转换
将“大”数据转换为“小”数据时,你可以使用强制类型转换。即你必须采用下面这种语句格式:
int n=(int)3.14159/2;
可以想象,这种转换肯定可能会导致溢出或精度的下降。
注:
①当字节类型变量参与运算,java作自动数据运算类型的提升,将其转换为int类型。
byte b;
②带小数的变量默认为double类型。
float f;
⑶包装类过渡类型转换
一般情况下,我们首先声明一个变量,然后生成一个对应的包装类,就可以利用包装类的各种方法进行类型转换了。例如:
①当希望把float型转换为double型时:
②当希望把double型转换为int型时:
简单类型的变量转换为相应的包装类,可以利用包装类的构造函数。即:Boolean(boolean value)、Character(char value)、Integer(int value)、Long(long value)、Float(float value)、Double(double value)
而在各个包装类中,总有形为××Value()的方法,来得到其对应的简单类型数据。利用这种方法,也可以实现不同数值型变量间的转换,例如,对于一个双精度实型类,intValue()可以得到其对应的整型变量,而doubleValue()可以得到其对应的双精度实型变量。
============================================
============================================
3.字符串与其它类型间的转换
⑴其它类型向字符串的转换
①调用类的串转换方法:X.toString();
②自动转换:X+“”;
③使用String的方法:String.volueOf(X);
============================================
⑵字符串作为值,向其它类型的转换
①先转换成相应的封装器实例,再调用对应的方法转换成其它类型
例如,字符中“32.1”转换double型的值的格式为:new Float(“32.1”).doubleValue()。也可以用:Double.valueOf(“32.1”).doubleValue()
②静态parseXXX方法
String s = "1";
byte b = Byte.parseByte( s );
short t = Short.parseShort( s );
int i = Integer.parseInt( s );
long l = Long.parseLong( s );
Float f = Float.parseFloat( s );
Double d = Double.parseDouble( s );
③Character的getNumericValue(char ch)方法
具体可查阅api。
再分享 java.lang.math 中的几个函数:
========================================================================================
四舍五入:
下取整:
上取整:
例如:
import
public
}
JAVA中int、String的类型转换
(2007-11-20 15:26:35)学习公社
类型转换
分类: JAVAint -> 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();
这两种方法有什么区别呢?作用是不是一样的呢?是不是在任何下都能互换呢?
以下是答案:
第一种方法:s=i+"";
第二种方法:s=String.valueOf(i); //直接使用String类的静态方法,只产生一个对象
第一种方法:i=Integer.parseInt(s);//直接使用静态方法,不会产生多余的对象,但会抛出异常
第二种方法:i=Integer.valueOf(s).intValue();//Integer.valueOf(s) 相当于 new Integer(Integer.parseInt(s)),也会抛异常,但会多产生一个对象
A. 有两个方法:
1). int i = Integer.parseInt([String]); 或
i = Integer.parseInt([String],[int radix]);
2). int i = Integer.valueOf(my_str).intValue();
注: 字串转成 Double, Float, Long 的方法大同小异.
1.) String s = String.valueOf(i);
2.) String s = Integer.toString(i);
3.) String s = "" + i;
注: Double, Float, Long 转成字串的方法大同小异.
JAVA数据类型转换
这是一个例子,说的是JAVA中数据数型的转换.供大家学习
package shenmixiaozhu;
import java.sql.Date;
public class TypeChange {
虽然都能在JAVA API中找到,整理一下做个备份。
- Java 数据类型转换,String->float,float->int ,String<->int (2013-07-24 14:01:57)
- float、int、string转换
- Java不同类型字符转换String/int/Float/////
- Qt 基本数据类型转换(int,float,double,datetime,string)
- String转换为数值double,float,int
- C++ int ,float 与string 转换
- JAVA int float long与String互相转换的方法
- JAVA int float long与String互相转换的方法
- java中类型转换(String float int)
- Java int string double float之间类型转换
- JAVA string装换为int,float
- Java String转int、float、double
- java float转换int
- Julia : string =>Int,Float
- C++_char/string 转换成 int/float char大小写转换
- VC 中 Cstring 与 int、float、double、char、string数据类型的相互转换
- VC 中 Cstring 与 int、float、double、char、string数据类型的相互转换
- String数据类型转换成long、int、double、float、boolean、char等七种数据类型
- ubuntu也有防火墙
- Qlist的用法
- android:lineSpacingMultiplier在不同版本Eclipse下的使用细节。
- Linux下补丁的介绍及使用
- Git 的origin和master分析
- Java 数据类型转换,String->float,float->int ,String<->int (2013-07-24 14:01:57)
- 【转载】location.hash详解
- 《计算广告学之内容匹配广告&展示广告原理、技术和实践》学习笔记
- 01_linux下伪分布式环境搭建
- ios点击手势学习笔记
- 初始化数据库
- 异步加载,在编程中具体意思是什么?原理是什么?
- Eclipse背景颜色修改
- [C/C++11语法]_[初级]_[lamba 表达式介绍]