在java中将浮点数和舍入值分隔为int

时间:2017-10-30 04:33:34

标签: java floating-point

以下是从梳子排序中摘录的内容。 https://en.wikipedia.org/wiki/Comb_sort 我想用浮点算术中的收缩来划分差距,然后将结果舍入到int值。我该怎么做?

    int gap = array.length - 1;
    double shrink = 1.3f;

我试着在下面做

gap = Math.floor(((double) gap) / shrink);

但编译器抱怨无法从double转换为int。

如果我在下面这样做,可能会截断但不是圆形。

 gap =(int) Math.floor(((double) gap) / shrink);

是否有任何函数将int与浮点算术中的双精度分开并将结果舍入到int。我该如何实现这一目标? 我假设梳子的作者对我试图做的事情有同感吗? 如果这是正确的,为什么不能通过缩小某个int值而不是浮点数来划分,有什么意义呢?

0 个答案:

没有答案