繁体   English   中英

在Java中舍入值

[英]Rounding off values in Java

我有一个double变量输出一些值。 例子:

  • 如果value = 62.42,我想将值四舍五入为62。

  • 如果value = 62.99,我想将值四舍五入为62。

无论小数位是什么,它都应该只显示整个值。

Math.floor(双a)
返回小于或等于参数且等于数学整数的最大(最接近正无穷大)double值。

以下两种情况下均为62

public class Round {
    public static void main(String[] args) throws Exception {
        System.out.println((int)Math.floor(62.99));
        System.out.println((int)Math.floor(62.42));
    }
}

使用Math.floor

或者您可以使用Math.round(Math.floor(double a))

将其转换为int。 这会将double值截断为整数部分,丢弃该数字的任何小数部分。

例如。

double d = 1.7;
int i = (int) d; // i = 1

您是否尝试将此十进制值分配给整数? 像这样:

int val = value; //where value = 62.42;
double doubleRounded = Math.round(doubleWithDecimals);
double doubleFloored = Math.floor(doubleWithDecimals);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM