导航:首页 > 编程语言 > javadouble取小数

javadouble取小数

发布时间:2024-05-11 15:33:08

java的double类型随机数怎么保留小数点后两位 要求是不改变数据类型

一个简单的思路:

保留两位小数是需要四舍五入的,Math类中的round方法就是将double型转为long型:static long round(double a) ,遵循四舍五入的规则。

所以可以先让随机数乘以100,四舍五入后,再除以100,变为double型。

注意 m / n,必须 m 或者 n 是double型,结果才是double型。所以这里可以将分子强制转为double型:(double) Math.round(v * 100) 或者把分母100写为100.0都可以。

❷ 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));

❸ 利用java设计在一串字符串中提取几个double类型有小数点的数字

packagesv;


importjava.util.Scanner;


publicclassSadasTest{

publicstaticDoublegss(intn){

doublea=1;

for(inti=1;i<=n;++i)

a=a*0.1;

returna;

}

publicstaticvoidf(Strings){

Stringstr="a"+s+"b";

intj=0;

intx=0;

intflag=0;

intflag1=1;

doubley=0;

intgs=1;

double[]arry=newdouble[100];

for(inti=0;i<str.length();++i){

if(Character.isDigit(str.charAt(i))||str.charAt(i)=='.'){

flag=i;

if(Character.isDigit(str.charAt(i))){

if(flag1==1)

x=x*10+Integer.parseInt(String.valueOf(str.charAt(i)));

else{

y=y+(Integer.parseInt(String.valueOf(str.charAt(i))))*gss(gs);

gs++;

}

}else

flag1=0;

}elseif(flag==i-1&&i!=1/*&&(flag==0&&i!=1)*/)

{

arry[j]=x+y;

j++;

x=0;

y=0;

gs=1;

flag1=1;

}


}

for(intm=0;m<j;m++){

inta=(int)arry[m];

if(arry[m]!=a)

System.out.print(arry[m]+" ");

else

System.out.print((int)arry[m]+" ");

}

}

publicstaticvoidmain(String[]args){

Scannersc=newScanner(System.in);

Stringstr=sc.next();

f(str);


}


}

❹ java 取两位小数 不要四舍五入怎么做

  1. 对一个小数点后有多位数的实数,取两位小数而不四舍五入,有两种方案:

  2. 乘100再强转成int,再除以100就得到了想要的数

  3. 也可以写一个小工具,以便以后重复使用,代码如下:

  4. 	/**
    *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;
    }
阅读全文

与javadouble取小数相关的资料

热点内容
编译后的bak文件 浏览:257
php生成文件名 浏览:878
日照智能车辆移动机器人导航算法 浏览:114
解压力的食疗 浏览:123
密钥如何加密随机数 浏览:379
统计学中pre的算法 浏览:409
inline函数在编译时不做类型检查 浏览:266
经纬度查询android 浏览:760
vivoz5x方舟怎么进服务器 浏览:496
vivox50安卓微信人脸支付怎么开启 浏览:893
cmd退出python命令 浏览:531
恢复u盘加密隐藏的文件 浏览:921
对某个人加密应该用公钥 浏览:998
机顶盒中央1加密 浏览:95
单片机的出现有什么影响 浏览:227
linuxtar备份系统 浏览:63
窗口鼠标录制编译 浏览:84
云服务器可以攻击吗 浏览:558
主力吸筹派发区域指标源码 浏览:695
单片机pc的低字节怎么算 浏览:230