A. 在java里面我想保留两位小数但是又想在整数的时候保留整数
在输出前用if判断是不是整数,是的话讲double(或者是float)类型强转成long(或者其他整数类型)输出
B. 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
C. java里怎样让float保留3位小数
有一个方法很简单,保留三个小数,就是乘以1000(10的3次方),取整,再除以1000
float f = (int)Math.round(0.0346562*1000)/1000f; //(注:f表示float,省了会错)
System.out.println(f*100+"%");
D. java中保留小数问题!!!
double i = 12.3659963; //设数值
int j = (int)Math.round(i * 100); //小数点后两位前移,并四舍五入
double k = (double)j / 100.00; //还原小数点后两位
E. java 保留两位小数点
var f : float;
str : string;
begin
f := 1.123;
str := FormatFloat('0.00', f);
end;
str的结果是1.12
F. java保留两位小数
网上回答基本上都是复制,最少都是2015年之前的,比较复杂,目前主流简单
已知一个float x=100.12314f;
保留2位数,则*/都是100;添加这一句后输出即可
x=(float)(int) (X*100)/100;
publicclassMain{
publicstaticvoidmain(String[]args){
floatx=100.12314f;
x=(float)(int)(X*100)/100;
System.out.printf(x);
}
}
回答这个问题算是自己备忘一下,老是搜索到一大堆乱七八糟复杂化的博客
G. java 怎么保留2位小数
java保留两位小数的方法:
方式一:
四舍五入
doublef=111231.5585;
BigDecimalb=newBigDecimal(f);
doublef1=b.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();
保留两位小数
方式二:
java.text.DecimalFormatdf=newjava.text.DecimalFormat("#.00");
df.format(要格式化的数字);
例:newjava.text.DecimalFormat("#.00").format(3.1415926)
#.00表示两位小数#.0000四位小数以此类推...
方式三:
doubled=3.1415926;
Stringresult=String.format("%.2f");
%.2f%.表示小数点前任意位数2表示两位小数格式后的结果为f表示浮点型
H. java中保留小数点后几位是怎么设的
有两种情况:
1、只要输出结果的时候可以用以下方法:
double x1 = 0.026;
System.out.println(String.format("%.2f", x1));
结果:0.03
2、使用数据转换(4种方法)
//方案一:
get_double = (double)(Math.round(result_value*100)/100.0)
//方案二:
DecimalFormat df = new DecimalFormat("#.##");
get_double = Double.ParseDouble(df.format(result_value));
//方案三:
get_double = Double.ParseDouble(String.format("%.2f",result_value));
//方案四:
BigDecimal bd = new BigDecimalresult_value();
BigDecimal bd2 = bd.setScale(2,BigDecimal .ROUND_HALF_UP);
get_double = Double.ParseDouble(bd2.ToString());
I. 急求!!Java中怎样任意保留小数位
DecimalFormat这个类的format方法
DecimalFormat f = new DecimalDormat("#.00");
System.out.println(f.format(这个地方写需要保留2为小数的变量或者常量));
肯定是这个类,肯定是这样的格式控制,至于("#.00")这样好像有些BUG,如果("00.00")如果是1好像不会自动补齐左边的0而是1.00,以前我遇到过你最好网络一下,再查看一下JDK文档给出的format方法的用法。
J. java里0.20000000如何保留五位小数
Java中Double保留后小数位的几种方法
1.能四舍五入
1 double d = 114.145;2 d = (double) Math.round(d * 100) / 100;3 System.out.println(d);
2.BigDecimal.ROUND_HALF_UP表示四舍五入,BigDecimal.ROUND_HALF_DOWN也是五舍六入,BigDecimal.ROUND_UP表示进位处理(就是直接加1),BigDecimal.ROUND_DOWN表示直接去掉尾数。
1 double d = 114.145;2 BigDecimal b = new BigDecimal(d);3 d = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
4 System.out.println(d);
返回String型的
1.#.00表示保留后两位,它的处理方式是直接截掉不要的尾数,不四舍五入。
1 double d = 114.145;2 DecimalFormat df = new DecimalFormat("#.00");3 String str = df.format(d);4 System.out.println(str);
2.%.2f表示保留后两位,它的处理方式也是直接截掉不要的尾数,不四舍五入。
1 double d = 114.145;2 String.format("%.2f", d);
3.RoundingMode.HALF_DOWN表示五舍六入,负数先取绝对值再五舍六入再负数,RoundingMode.HALF_UP:表示四舍五入,负数先取绝对值再五舍六入再负数。
1 double d = 114.1452 NumberFormat nf = NumberFormat.getNumberInstance();3 // 保留两位小数4 nf.setMaximumFractionDigits(2);
5 // 如果不需要四舍五入,可以使用RoundingMode.DOWN6 nf.setRoundingMode(RoundingMode.UP);7 System.out.println(nf.format(d));