怎么搞清楚多少位的问题
输入一个浮点数,输出浮点数的位数
到最后不知道怎么做了
那你直接解析输入的文本算了,count下字符'.'后面有几个字符就知道
如果你要去解析float或者double的数据类型的编码方式,很麻烦而且还会出错,一些你认为的(十进制)有限小数,二进制存起来可能就成了一个无限小数了。
你可以搜索 float精度损失 以了解其产生的前因后果
public static void main(String[] args) {
Scanner r = new Scanner(System.in);
String num = String.valueOf(r.nextDouble());
int index = num.indexOf(".");
int result = 0;
if(index > -1){
result = num.length() - 1 - index;
}
System.out.println(result);
}
package cn.bdqn.demo05;
import java.util.Scanner;
public class NumDemo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个浮点数(小数):");
String num = String.valueOf(sc.nextDouble());
int index = num.indexOf(".");
int result = 0;
if (index > -1) {
result = num.length() - 1 - index;
System.out.print("这个浮点数的浮点位数为:"+result);
}
}
}
如果只是单纯的知道小数点后面有多少位的话 只需要把他拆成char数组然后从最后一位开始判断 小于0尾数加-1
转字符串,然后计算字符串长度