数据取整的注意事项

这篇博客详细介绍了Java中Math.round方法在处理float和double类型时的返回类型,以及 ceil、floor 和四舍五入的使用。讨论了浮点数转换为整数时的精度问题,并展示了不同取整策略的示例。此外,还强调了类型转换在数值运算中的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

四舍五入 round 默认为long

Math.round(float) 返回的是int,
Math.round(double) 返回值是 long。
96.1 默认是double,加上 “F”,
正确是是 int round = Math.round(96.1F);

long round = Math.round(96.1);
int round1 = Math.round(96.1F);
Math.ceil(96.1));// 97 (去掉小数凑整:不管小数是多少,都进一)向上取整
(int) Math.floor(96.8));// 96 (去掉小数凑整:不论小数是多少,都不进位) 向下取整
Math.round(96.8));// 97 四舍五入取整

floor,ceil 默认是 double

double floor = Math.floor(weightCount / 2.0);
double ceil = Math.ceil(weightCount / 2.0);

float double int区别,小数默认为double

        float a1 = (float) 2.17654765;
        System.out.println(a1);   // 2.1765478

        double a2 = 3.734765323445;
        System.out.println(a2);  //3.73476532344

        int a3 = (int) a2;
        System.out.println(a3); // 3

        //四舍五入
        long round = Math.round(a2);
        System.out.println(round); // 4

        int a4 = (int) Math.round(a2);
        System.out.println(a4); // 4

        //向0取整
        double floor = Math.floor(a2);
        System.out.println(floor); // 3.0

        int a5 = (int) Math.floor(a2);
        System.out.println(a5);  //3
通用函数(ufunc)是NumPy中的一种功能强大的工具,用于对数组进行逐元素的操作。它可以对标量、向量和多维数组进行操作,并支持广播功能。 通用函数有以下几个主要用途: 1. 数学运算:通用函数可以执行各种数学运算,如加法、减法、乘法、除法、取余数、取整等。例如,可以使用ufunc函数`np.add()`对两个数组进行逐元素相加。 2. 逻辑运算:通用函数可以执行各种逻辑运算,如比较、逻辑与、逻辑或、逻辑取反等。例如,可以使用ufunc函数`np.logical_and()`对两个数组进行逐元素的逻辑与操作。 3. 统计运算:通用函数可以执行各种统计运算,如求和、均值、方差、最大值、最小值等。例如,可以使用ufunc函数`np.sum()`对数组中的元素求和。 注意事项: 1. 广播规则:在使用通用函数时,需要了解广播规则。广播是NumPy中一种在不同形状的数组之间进行运算的机制。通用函数可以自动进行广播操作,使得不同形状的数组也可以进行逐元素操作。但需要注意保持广播规则的一致性,以避免意外结果。 2. 数据类型转换:通用函数会根据输入数组的数据类型来确定输出数组的数据类型。在进行一些特殊运算时,可能会出现数据类型转换的情况。需要注意选择适当的数据类型,以避免精度损失或溢出问题。 3. 函数参数:通用函数通常有一些可选参数,可以用来控制运算的方式和结果的形状。不同的通用函数可能有不同的参数选项,需要查阅文档进行了解和使用。 总之,通用函数是NumPy中强大而灵活的工具,可以对数组进行各种逐元素操作。在使用时需要注意广播规则、数据类型转换和函数参数等方面的细节。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值