舍入一个双重并分组?

use*_*613 1 java

我会尽力解释这个.

假设我得到了一个用户输入,那就是:245,我希望将其向下舍入为200然后除以100然后最终为+1,因此结果为3(将其放在区域3中,更多在下面)

基本上我需要的是一个分区系统,如下所示

Zone 1: 0-99
Zone 2: 100-199
Zone 3: 200-299
Run Code Online (Sandbox Code Playgroud)

对于用户输入的任何数字等都是如此,所以我觉得将数字向下舍入然后除以100将是最好的方法,因为我目前用if else语句将其除去,虽然显然是有限的,但只适用于我的预定区域.

Jon*_*eet 9

为什么不把它除以100开始呢?如果你从一个整数开始,那将进行舍入(总是朝向0):

int zone = (input / 100) + 1;
Run Code Online (Sandbox Code Playgroud)

这里根本不需要进入非整数运算.如果用户输入实际上是a double,您可以直接转换:

int zone = ((int) input / 100) + 1;
Run Code Online (Sandbox Code Playgroud)

  • 乔恩,你真的很快:) (2认同)