java保留两位
㈠ 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());
㈡ JAVA输出结果如何保留两位小数并同时换行
按照你的要求输出悔如保冲念留碧判启两位小数并换行的Java语句如下
System.out.printf("AVE=%.2f ",q/n);
下面我给你一个完整的例子
㈢ Java中怎样保留两位小数。是不是要用Math.round()啊
总的说来,我用了两中方式。
System.out.printf("f(%d)= %.2f\n",x,y);printf是java继承C来的,可以用c的方式来格式化输出。
还有就是java自己提供了更为丰富的格式化输出。用到Format,format 是一个用于格式化语言环境敏感的信息(如日期、消息和数字)的抽象基类。 Format 定义了编程接口,用于将语言环境敏感的对象格式化为 String(使用 format 方法)和将 String 重新解析为对象(使用 parseObject 方法)。数字
NumberFormat 用于格式化输出 数字,在java.text.包中,如果你有API,那就很简单的多了。
你复制下去,运行一下,我测试的是
3
2 =0.5
3 =0.33
4 =0.25
和你的要求一样。希望采纳。
import java.text.NumberFormat;
import java.util.Scanner;
public class Test
{
public static void main(String args[])
{
int repeat, ri,x;
double y;
Scanner in=new Scanner(System.in);
repeat=in.nextInt();
NumberFormat f=NumberFormat.getInstance();
f.setMaximumFractionDigits(2);
for(ri = 1; ri <= repeat; ri++)
{
x=in.nextInt();
/*---------*/
if(x!=0)
y=1.0/x; //还有在这里,是1.0/x,不然结果全是0.如果不懂,下面有连接,我回答的
else
y=0;
//System.out.println("f("+x+")="+y);
String s=f.format(y);
//System.out.printf("f(%d)= %.2f\n",x,y);
System.out.println("f("+x+")="+s);
//如果要得到你所说的,我建议用numberformat来格式化输出。
}
}
}
http://..com/question/390739373.html?old=1&afterAnswer=1#here
㈣ java中四舍五入保留两位小数,第三位正好是数字5怎么处理
使用String.format("镇空%.2f",num); //num是要处理的数据搜耐
这种方法可以用float,double接收数据类型,我试了一下String接收好像会报错,小伙伴也可以试一下。可以四舍五入保留两位小数,但是小数点第二位是0的话会不显示。以下代码用到此方法世旅春的语句:value.add(Double.valueOf ( String.format("%.2f", Double.valueOf(list.get(3).replace("\"", ""))*100)));
㈤ java中double保留两位小数
1、保留小数有多种方法,比如四舍五入,或者直接截取。
public static void main(String[] args) {
double a = 3.141592653;
// 四舍五入
BigDecimal b = new BigDecimal(a);
System.out.println(b.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue());
// 直接截取两位小数,不做舍入
DecimalFormat df = new DecimalFormat("#.00");
//格式化以后是String类型
String str = df.format(a);
System.out.println(str);
}
2、
㈥ java中保留两位小数并要求四舍五入的方法
doubled=2.345;
//格式化为String
Stringstr=String.format("%.2f",d);
System.out.println(str);
//如果需要数字,可以再d=Double.parseDouble(str)
//////////////
BigDecimalbd=newBigDecimal("2.345");//建议使用String参数
BigDecimalbd_half_even=bd.setScale(2,RoundingMode.HALF_EVEN);
BigDecimalbd_half_up=bd.setScale(2,RoundingMode.HALF_UP);
System.out.println(bd_half_even);
System.out.println(bd_half_up);
//HALF_EVEN,HALF_UP是两种不同的四舍五入机制
//BigDecimal默认使用HALF_EVEN
//HALF_UP的效果就是经典的四舍五入
//HALF_EVEN是最科学的四舍五入,但结果和HALF_UP可能会不同
㈦ 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表示浮点型