重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
java保留两位小数的方法:
十年的港南网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整港南建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“港南网站设计”,“港南网站推广”以来,每个客户项目都认真落实执行。
方式一:
四舍五入
double f = 111231.5585;
BigDecimal b = new BigDecimal(f);
double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
保留两位小数
方式二:
java.text.DecimalFormat df =new java.text.DecimalFormat("#.00");
df.format(要格式化的数字);
例:new java.text.DecimalFormat("#.00").format(3.1415926)
#.00 表示两位小数 #.0000四位小数 以此类推...
方式三:
double d = 3.1415926;
String result = String .format("%.2f");
%.2f %. 表示 小数点前任意位数 2 表示两位小数 格式后的结果为f 表示浮点型
public class Main {
public static void main(String[] args) {
float f1 = 1234.5678f ;
int f2 = 99900 ;
String f3 = String.format("x=%.2f, y=%.3f", 100.22222f, 200.33333f);
String f4 = String.format("x=%.4f, y=%.5f", 100.22222f, 200.33333f);
System.out.printf("f1 = %.2f\n", f1);
System.out.printf("f2 = %.2f\n", (float)f2);
System.out.printf("f3 = \"%s\"\n", f3);
System.out.printf("f4 = \"%s\"\n", f4);
}
}
输出:
f1 = 1234.57
f2 = 99900.00
f3 = "x=100.22, y=200.333"
f4 = "x=100.2222, y=200.33333"
使用格式化输出符号即可;
float num = 10.1234456;
System.out.printf"num=%.1f",num); //保留1位小数
给你说个思路:先把float转成string,然后切割字符串(先索引到小数点.的位置,然后取0-小数点后一位,这个就可以自己控制了) 然后在转为 float 类型就OK了;先尽量自己试试,实在不会我在帮你;(看来我还太嫩,楼上方法不错)
按照你的要求编写的Java程序如下:
import java.util.Scanner;
public class A {
public static void main(String[] args) {
int b=1024;
Scanner sc=new Scanner(System.in);
System.out.println("请输入任意整数:");
int a=sc.nextInt();
double c=(double)a/b;
System.out.println(String.format("%.1f", c));
}
}
运行结果:
请输入任意整数:
3679
3.6