① java中怎么控制double的小数位数
import java.text.DecimalFormat;
public class Main {
public static void main(String[] args) {
DecimalFormat df = new DecimalFormat( "0.0000 ");
double d1 = 1.0;
double d2 = 4.56789;
System.out.println(df.format(d1));
System.out.println(df.format(d2));
}
}
② java 两个整数相除 结果为一位小数
double ans = 3/4;
因为ans的类型为double
其实你这个式子就和
double ans=0是等价的,虽然是给的整数,但在储存的时候,已经做了隐式类型转换为double了,输出时会按类型格式输出,double当然要保留小数位,另外,他的小数不是四舍五入得来的,而是空位补0。
3/4明显大于0.5,四舍五入的话应该为1才对
③ java 保留一位小数
按照你的要求编写的Java程序如下:
importjava.util.Scanner;
publicclassA{
publicstaticvoidmain(String[]args){
intb=1024;
Scannersc=newScanner(System.in);
System.out.println("请输入任意整数:");
inta=sc.nextInt();
doublec=(double)a/b;
System.out.println(String.format("%.1f",c));
}
}
运行结果:
请输入任意整数:
3679
3.6
④ java中double型小数位数问题
o
~!
我
也再学java
不过我看的比较快
这也这要是你的表达式的问题
如果你自己不加其他的限制条件的话就是默认的】
首先你要知道一个double型,最多可以表达15位小数。
像你的第一个本身就是只有一位小数,它不会自己去添加0的
而后面的却是除不尽的,,但是double型的最多也只有15~16位,所以也就是保留15~16位了~!
以后有空可以多交流一下
上面的说的对,浮点小数都不能很精确的表达一个小数