在JAVA里,怎样把字符串类型的数字转换为整形类型??

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在JAVA里,怎样把字符串类型的数字转换为整形类型??相关的知识,希望对你有一定的参考价值。

java里面有Integer类,
直接利用这个类的转换函数就可以。
Integer.parseInt(String s);
例如:

int a=Integer.parseInt("12345").
参考技术A 把字符串类型的数字转换为整形类型用 Integer.parseInt("/*这里是你要转换的字符串*/")
注意:兼容性

例子:
String c = "0.123";//不能转换
String b = "asd000";//不能转换
String d="123aa";//不能转换
String e="0000123";//可以 转化后值为123
String f= "234567800";//可以 转换后值为234567800
int num2=Integer.parseInt(e);
参考技术B String str='111';
int num=Integer.parseInt(str);

拓展:
parseInt("0", 10) 返回 0
parseInt("473", 10) 返回 473
parseInt("-0", 10) 返回 0
parseInt("-FF", 16) 返回 -255
parseInt("1100110", 2) 返回 102
parseInt("2147483647", 10) 返回 2147483647
parseInt("-2147483648", 10) 返回 -2147483648
parseInt("2147483648", 10) 抛出 NumberFormatException
parseInt("99", 8) 抛出 NumberFormatException
parseInt("Kona", 10) 抛出 NumberFormatException
parseInt("Kona", 27) 返回 411787

想知道为什么就追问.来自:求助得到的回答
参考技术B Integer.valueOf(string);
Integer.parseInt(String);
参考技术C String aa="33";
int bb=Integer.paresInt(aa);

菜鸟发问:怎样把float型转变成整形

不是那种强制转换——5.23 转完就变成 5 的那种。
我想让转型后 5.23 变成 523;3.4 转变成 34 的,有没有办法实现?
请高手指导我一下~

参考技术A 简单点说你可以先把float类型转为字符串,然后去掉点,转换成int
下边的方法就可以实现,你传人一个float类型的如5.67,得到567
public int float2Int(float f)
String str=Float.toString(f);
String[]s=str.split("\\.");
str=s[0]+s[1];
int result=Integer.parseInt(str);
return result;
追问

非常感谢,我还想请教大师一下

quint8 *buf;
float Value[10];
for(int i=0;i>8)&0xFF;



error C2296: “&”: 非法,左操作数包含“float”类型
我要修改的话,是要按照上面教我的,先把 Value[i] 改成 int 型,再进行 >> 8和 & 吗?

追答

是的,如果你的位元算操作符两边的数有float的是会报错的。

本回答被提问者和网友采纳
参考技术B 第一层是一种合适的方式,只要升级为float类型的分子和分母,然后建立系统操作前,将,第二头提升到了最高的浮点类型。

二楼是不正确的,因为它是塑造成float类型的操作,两个整形除以整形转换为float类型的精度会有损失。追问

咦?我没发现哪里精度会有损失啊?

public int float2Int(float f)

String str=Float.toString(f); //根据float值得到一个String对象
String s[]=str.split("\\."); //以"."为分隔符分隔s[0]s[1]
str=s[0]+s[1]; //合起来变成一个字符串
int result=Integer.parseInt(str); //把str转换成整数

return result;

大师能不能帮我详细点儿解释一下?

参考技术C 参考以下代码,实现转换:
declare
ff number:=0;
begin
b:=vv/100;
select trunc(b) into ff from dual;
dbms_output.put_line(ff);
end;
参考技术D Long a = Long.parseLong((5.67+"")replace(".",""))

以上是关于在JAVA里,怎样把字符串类型的数字转换为整形类型??的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript中将字符串类型转换为整形的函数

java 怎样将整数转换成字符串时,前面加零

Oracle中如何用SQL把字符串转换成整型

Oracle中如何用SQL把字符串转换成整型

Oracle中如何用SQL把字符串转换成整型

在SQL中怎样把字符型的数据转换成日期型的呢