如果数组的长度没有这么多,就不行了,如:num=22.0
我那个解决的办法是,我在后面加了"000"这样就不怕长度不够了,但是还是要谢谢你,嘻嘻,因为我还是初级者,就请接收我的谢谢吧,谢谢了
追答不客气。我那个程序已经判断你的小数位数是否超过2位数。可以任意小数取得后俩位呵呵。
追问str.length()-a-1) >= 2,为什么要这样写条件呢
追答判断你的小数点后边是不是有2位或以上的位数。假如str=“123.456”那么str.length()=7,index的a=3那么str.length()-a-1=3说明你小数点后有3位数,执行if中的语句,否则就else啦
追问哦,那么我怎么样给你加分呢
追答没事 解决就好
追问谢谢,嘻嘻
用过,由于他是有四舍五入的,所以我放弃了这种方法
追答import java.text.NumberFormat;
public class d {
double data;
public d(double data) {
this.data = data;
}
public void method() {
String str = String.valueOf(data);
int pos = str.lastIndexOf('.');
try {
str = str.substring(0, pos + 3);
} catch (Exception e) {
NumberFormat nbf = NumberFormat.getInstance();
nbf.setMinimumFractionDigits(2);
nbf.setMaximumFractionDigits(2);
str=nbf.format(data);
}
System.out.println(str);
}
public static void main(String args[]) {
new d(4.4).method();
}
}
这么写可以不
长度要判断
追答来给我说下例子怎么就出错了,还是没懂 是不是pos=-1?
我没有做判断了但是我在后面添加了+“000”,嘻嘻
你给我qq号码也行哦
追答加点分撒。。。公司网络不允许上qq/msn。
没有50好歹也给个20分撒。楼下的bug灰常大
http://hi.baidu.com/leemax/blog/item/3d2421443f87b05b510ffecb.html
算了,直接给你吧,你可以在eclipse里面运行看看
参考资料:http://hi.baidu.com/leemax/blog/item/3d2421443f87b05b510ffecb.html
本回答被提问者采纳