如何将小数转换成百分数 有朋友在群里问了这个问题,印象中Java没有这方面的函数(百分数转换为小数倒是有一个),而且直接乘以100会得出类似2.5999999999的结果,在网上也没有搜到类似的解决方案,所以把我们的讨论结果发上来,肯定不是最优解,也希望来访者留下你们的解决办法,只要能优化其中的某一段就可以! private String convert(String orignal) { //去掉小数后面的零值,如:0.02500 String noDotInteger = Integer.parseInt (str.replace('.','')) + "";//2500 int lengthOfZero = noDotInteger.length() - noDotInteger.indexOf("0");//2 str = str.substring(0, str.length() - lengthOfZero);//0.025 //转换成百分数字符串 int index = orignal.indexOf('.'); if(index < orignal.length() - 2) { return orignal.substring(0,index) + orignal.substring(index + 1,index + 3) + '.' + orignal.substring(index + 3) + "%"; } else { return orignal.substring(0,index) + orignal.substring(index + 1) + "%"; }} 续:J2ME综合技术讨论群 的刘军提出了他的解决方案: import java.math.BigDecimal; public class Hello { public static void main(String args[]) { String s = "0.025"; BigDecimal bd = new BigDecimal(s); System.out.println(bd.multiply(new BigDecimal(100))); //输出2.500 }} 山城浪子则说用java.text.DecimalFormat最好最方便!