J2SE论坛网»J2SE技术»String格式的问题

String格式的问题

问?:
String str = "2378.000.000.000.00";

我想把它格式化成

String str = "2378.00";

支取小数点后面两位

答!: 1:
DecimalFormat df = new DecimalFormat("##.##");
答!: 2:
当我发现这个问题的时候,我要怎么做才能找到解决这个问题的函数
答!: 3:
for(int i=0;i++;i<str.length)
{

}
答!: 4:
做个循环,分割小数点,然后再加上2位
有点罗嗦了
答!: 5:
DecimalFormat df = new DecimalFormat("##.##");

对String类型不支持。
答!: 6:
好像记得有个方法,是分割字符串的,可以根据字符串数组,求第一个.的索引,然后构造一个新数组,把刚才求到的索引加2,但是还要作个判断,如果第一个.后面接着也是一格.,就要去掉补0
答!: 7:
String str = "2378.000.000.000.00";
String newStr = str.substring(0,str.indexOf(".")+3);
System.out.println(newStr);
答!: 8:
2378.000.000.000.00 本身就不是合理数据 你 非要自己处理
想想这个字串程序里怎么产生的
答!: 9:
String inn = "2378.000.000.000.00.001";
inn = inn.substring(0,inn.indexOf(".")+3);
System.out.println(inn);
答!: 10:
StringTokenizer好像是分割的
答!: 11:
我觉得什么样的东西都不奇怪,关键是看你的这个数据是用来干什么的
如果你做实际应用的话:
先用:spilt(".")获得将这个字符串分割后形成的字符串数组,取你要的那段,然后在用subString()方法解析要前两位

如果你做练习的话:
那么你就直接解析字符串
答!: 12:
subString(0,7)
看下
答!: 13:
public class FormatStr
{
public void change(String source)
{
int n=0;
while(n<source.length())
{
if(source.charAt(n)=='.')//判断小数点
{
n=n+3;
source=source.substring(0,n);//截断String进行格式转换
break;
}
elsen++;
}
System.out.print(source);

}


public static void main(String args[])
{
String s=new String("1204.040.0000");//可以在这里修改不同的值,带入测试
FormatStr dealstr = new FormatStr();
dealstr.change(s);//调用FormatStr类的change方法
}
}


相关JAVA教程:
js 怎样获得td里的值?
关于嵌套类
如何覆盖的写文件?
checkbox 提交问题?
能否有-------非堵塞---------socket
大家好,小弟想学习JAVA,但却苦于不知从何学起,望大家给与指点迷精?3Q
关于java术语的中文名称
请问Java能编串口通信程序么?
请帮忙翻译一句话,是java-tutorial中的
新手上路
文本控件与窗体布局的问题
关于表格事件的几个问题