Ⅰ java如何取小数点前两位,并四舍五入
取小数点前两位,并四舍五入:
doublem=7237.3589
一、
DecimalFormatdf=newDecimalFormat("#.00");
System.out.println(df.format(m));
二、
System.out.println(String.format("%.2f",m));
Ⅱ java怎么保留两位小数
java自带api是没有保留两位小数的,需要自己去封装定义
Ⅲ 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 保留两位小数点
public double tofloat(double value) {
String retValue = null;
DecimalFormat df = new DecimalFormat();
df.setMinimumFractionDigits(2);
df.setMaximumFractionDigits(2);
retValue = df.format(value);
retValue = retValue.replaceAll(",", "");
return Double.parseDouble(retValue);
}
Ⅳ Java里如何取小数点后2位.(代码)
DecimalFormat fmt=new DecimalFormat("0.##");
fmt.format(1588.4154);
第一句就是建立一个输出格式最多为小数点后两位的模板,下面一句是以此模板将数以 StringBuffer形式返回
Ⅵ 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 取两位小数 不要四舍五入怎么做
对一个小数点后有多位数的实数,取两位小数而不四舍五入,有两种方案:
乘100再强转成int,再除以100就得到了想要的数
也可以写一个小工具,以便以后重复使用,代码如下:
/**
*a为一个带有未知位小数的实数
*对其取b位小数
*@parama
*@paramb
*@return
*/
staticdoublegetDouble(doublea,intb){
intx=0;
inty=1;
for(inti=0;i<b;i++){
y=y*10;
}
System.out.println(y);
x=(int)(a*y);
System.out.println("x="+x);
return(double)x/y;
}
Ⅷ 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);
}
}
回答这个问题算是自己备忘一下,老是搜索到一大堆乱七八糟复杂化的博客