作业帮 > 综合 > 作业

转换小数点让用户输入小数点的位数,然后怎么将一个数字转换成一个与用户要求相同的小数?比如:用户要求有n位小数,怎么让m变

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/21 06:59:34
转换小数点
让用户输入小数点的位数,然后怎么将一个数字转换成一个与用户要求相同的小数?
比如:用户要求有n位小数,怎么让m变成有n位小数的数字(n不是一个确定的值,随着用户的要求在不停的变)
首先将数字转换为字符串或输入时就用字符串接收,然后在末尾加入小数点,
根据n再将小数点移到相应位置,再转换为相应的数据类型就行了,后面再改变位置,同样先转换为字符串,再将字符串中的小数点移动到相应位置.
public BigDecimal change(BigDecimal number,int index){
StringBuilder sb=new StringBuilder(number.toString());
if(sb.toString().contains(".")){//检查是否有小数点
sb.deleteCharAt(sb.indexOf("."));//若有就删除
}
sb.insert(index, ".");//在相应位置加入小数点
return new BigDecimal(sb.toString());
}