当前位置:首页 » 编程语言 » java取小数

java取小数

发布时间: 2023-04-23 07:56:07

java有一个小数,如何去掉小数部分

1、Math.round(float f)对小数部分四舍五入
或者强值类型转换成int类型,直接去掉小数部分!

2、

3、向上取整:Math.ceil() //只要有小数都+1
向下取整:Math.floor() //不取小数
四舍五入:Math.round() //四舍五入

② java中 double型取小数部分

double
dd =
123.45;
//设数值则派仔
int
j
=
(int)Math.round(dd*
100);
//羡并小数点后两位前移,并四舍五入
double
k
=
(double)j
/
100.00;
//还原小孙汪数点后两位

③ java中取小数部分

import java.math.BigDecimal;
import java.util.Scanner;

public class GetFloat {
public static void main(String args[]) {
Scanner in = new Scanner(System.in);
float f = in.nextFloat();
int fInt = (int) f;
BigDecimal b1 = new BigDecimal(Float.toString(f));
BigDecimal b2 = new BigDecimal(Integer.toString(fInt));
float fPoint = b1.subtract(b2).floatValue();
System.out.println("整数部分为:" + fInt + "\n" + "小数部分为: " + fPoint);
}
}

④ java怎么取实数中的小数部分

首先楼上那两位对于普通的使用场景来说基本是正确的。但是在一些需要精确结果的场景中(比如货币金额计算),double就会有问题了,比如:

(int)1023.99999999999999=1024;

再比如:

doublen1=0.03;
doublen2=0.02;
doublen3=n1-n2;
System.out.println(n3);//0.009999999999999998

所以如果需要精确安全的操作拿漏的话,需要用到这个类:java.math.BigDecimal

调用它的divideAndRemainder方法来进行计算,该计算可以理解为:进行一次保消拿烂留余数的除法运算。结果会返回一个BigDecimal类型且长度为2的数组,0下标的元素敏睁是该计算的商,1下标的元素是该结果的余数。

BigDecimaln4=newBigDecimal("1023.99999999999999");
BigDecimal[]result=n4.divideAndRemainder(BigDecimal.valueOf(1));
System.out.println(result[1].toString());//0.99999999999999

注意,构造BigDecimal对象的时候我使用的是字符串String类型的“1023.99999999999999
”,如果直接写1023.99999999999999的话会被认为是double类型的数,然后double类型的该值为1024.0,所以给字符串类型的值可以保证BigDecimal对象接收到的数就准确无误是我们心里想的数。

⑤ java 除法怎样取小数部分

(((double)lili1)/lili)
-
(lili1/lili)就可以了,如果想显示出小数,必须要将数值转换为float或double类型才可以,推荐double类型

⑥ 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;
    }
热点内容
网络访问层 发布:2024-11-01 16:18:38 浏览:349
国产系列ftp 发布:2024-11-01 15:49:53 浏览:702
招编程师傅招聘 发布:2024-11-01 15:34:51 浏览:192
kkt编程 发布:2024-11-01 15:31:26 浏览:614
我的世界管理员进服务器提示 发布:2024-11-01 15:21:12 浏览:126
如何删除qq空间访问记录 发布:2024-11-01 15:20:07 浏览:323
微信上传图片失败 发布:2024-11-01 15:19:53 浏览:117
python网站域名服务器搭建 发布:2024-11-01 15:18:36 浏览:693
量产工具加密 发布:2024-11-01 15:14:31 浏览:674
储备存储 发布:2024-11-01 15:14:28 浏览:330