Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 找到最接近的下一个偶数100_Javascript_Numbers_Zero - Fatal编程技术网

Javascript 找到最接近的下一个偶数100

Javascript 找到最接近的下一个偶数100,javascript,numbers,zero,Javascript,Numbers,Zero,在javascript中,找到下一个最接近给定数字的偶数100(“偶数100”=200、400等)的最简单方法是什么。例如:1723应该返回1800,1402应该返回1600,21应该返回200,17659应该返回17800等等。我有下面的方法,可以在给定的_num旁边找到最近的100,但不是偶数100 (parseInt(((给定数量+99)/100))*100) 我可以想出一种方法来获取不带零的数字,并检查其奇数/偶数,以确定下一个偶数是否为奇数。但更奇怪的是,是否有一些简单/优雅的方法。基

在javascript中,找到下一个最接近给定数字的偶数100(“偶数100”=200、400等)的最简单方法是什么。例如:1723应该返回1800,1402应该返回1600,21应该返回200,17659应该返回17800等等。我有下面的方法,可以在给定的_num旁边找到最近的100,但不是偶数100

(parseInt(((给定数量+99)/100))*100)

我可以想出一种方法来获取不带零的数字,并检查其奇数/偶数,以确定下一个偶数是否为奇数。但更奇怪的是,是否有一些简单/优雅的方法。

基于此,听起来您希望粒度为200,而不是100。如果是:


除以200,四舍五入,乘以200:

var测试=[
{值:1723,期望值:1800},
{value:1402,expect:1600},
{value:21,expect:200},
{值:17659,预期值:17800}
];
测试。forEach(测试);
功能测试(条目){
var结果=Math.ceil(entry.value/200)*200;
console.log({
value:entry.value,
expect:entry.expect,
结果:结果
});

}
递归调用如果不是偶数,则添加
1
以进入下一个100等

函数关闭(n){
变量x=数学单元(n/100),y=x*100;
返回x%2==0?y:y+1;
}
console.log(closestEven(1723));//1800
console.log(closestEven(1402));//1600
console.log(closestEven(21));//200
console.log(closestEven(17659));//17800试试这个:

var\u num=1723;
var结果=(给定数量)+(100-((给定数量+100)%100));

警报(结果)1723应该给你1900,而不是1800。我想他想要下一个200的倍数(“偶数200”=200400,等等)。@bmb:Ah!好的……除以200,四舍五入,乘以200。@bmb:LOL,正是我的答案所说的。:-)这在1402年是行不通的。。它返回1500,但应该是1600…而“试试这个”答案是没有用的。说你做了什么,为什么。是的,这是有效的:)这正是我想要的添加100以更快地到达那里,或者有条件地返回
y+100
:)@Traktor53-只添加
1
就足够了,因为它四舍五入到最接近的
100
,无论如何,它不会迭代所有99个数字到达那里。