在学习Android时 老是布置了一个作业 单位转换
当我在写长度转换时 遇到了一个bug 当3分米转为三千米时出现了这种情况
我自己认为自己写的没有问题 输入其他数字就很正常 百思不的其姐
我问了老师老师给我答复
应该是直接转字符串的问题,最好使用格式转换函数,把你的calLentgh函数改成返回字符串类型,在其中用DecimalFormat统一转换一下结果再直接输出:
private String calLentgh(double f, int lenth1, int length2){
if (lenth1>length2){
for (int i=length2;i<lenth1;i++){
f = f/lengthBase[i];
}
}else {
for (int i=lenth1;i<length2;i++){
f = f * lengthBase[i];
}
}
DecimalFormat df = new DecimalFormat("#.####E0");//就是在这里
return df.format(f);
}
然后运行了一下就好了 真的这些问题自己研究半天也找不出来