如何截取字符串中的非零数值?

来源:百度知道 编辑:UC知道 时间:2024/06/08 04:46:11
类似“00000000100” “00000000123” “0000012”这种长度不一的字符串,我怎样才能截取字符串中的非零字符,抛弃前面补的“0”,从而取得“100” “123” “12”这样的有效数值呢?
可是我需要得到的是Double这种类型啊 难道再int转double???
Double.parseDouble(s)这样行吗?
还有用正则的话“00000000”就变成“”了,有没有什么正则使使“0000000”变成“0”而不是“”?

不需要对字符串进行操作.直接转化为int型即可,不需要复杂的逻辑和操作,直接转化为int型自然会将0前缀都去掉,如果还需字符串类型则使用String类中的valueOf方法..

比如如下代码
String str = "000004560";
int i = Integer.valueOf(str);//转化为int型
System.err.println(i);
// 如需要字符串类型
String num = String.valueOf(i);//转化为String型
System.err.println(num);
======================================================================
转成double的也好说:
String str = "000004560";
int d = Double.valueOf(str);//转化为double型
System.err.println(d);
// 如需要字符串类型执行下面这步,如果不需要,则上边那步就足够了...
String num = String.valueOf(d);//转化为String型
System.err.println(num);

你用什么语言

String str="000000100";
str=str.replaceAll("^0*","");

你再加个判断不就行了
if(str=="") str="0";

试试

String ss = "00000000100";
System.out.println(Integer.parseInt(ss));

这样就可以了/。

String str = &