方法一:通过四舍五入方式保留特定后几位
import java.util.*;public class Main{public static void main(String args[]){double t=1.123456;System.out.PRintln((double)Math.round(t*100000)/100000); //5个零}}输出:1.12346(四舍五入了)
说明:这种方式通过强制输出double类型,同时注意这里有乘上几个零就是保留几个小数。如果改成Math.round(t*100)/100,这样就会输出1.12
方法二:通过四舍五入保留小数
import java.util.*;import java.text.DecimalFormat;public class Main { public static void main(String[] args) { double t=1.123456; System.out.println(new DecimalFormat("0.0000").format(t)); //英语中:Decimal---十进制的 Format----格式化 }}输出:1.1235说明:这是调用了text.DecimalFormat,在输出时候,将数字格式化了,其实(“0.0000”)就是格式的模版,输出4个小数,会自动四舍五入,改成(“0.0”)就会输出1.1,改成(“00.000”)会自动补位输出01.123
方法三:通过四舍五入保留小数
import java.util.*;public class Main { public static void main(String[] args) { double t = 1.123456; String str = String.format("%.4f", t); System.out.println(str); }}输出:1.1234说明:通过转换成字符串的方式输出小数点后几位,其中的(“%4f”)就是控制的输出的小数点的位数要求
方法四:不四舍五入保留小数
import java.util.*;public class Main { public static void main(String[] args) { double t = 1.123456; String str = String.valueOf(t); String str2=""; for(int i=0;i<6;i++) str2=str2+str.charAt(i); System.out.println(str2); }}输出:1.1234说明:本质就是强制转化成字符串,然后进行字符串的截取工作
新闻热点
疑难解答