どうでしょうか?思いつきで書いたものですが処理の結果は質問者の希望通りになっているでしょうか?
lang
1function Calculate(_n){
2 var x=Math.round(_n),_Value;
3 /*
4 x%_nは_nに小数点以下に0.5未満の値がある場合は整数値を返してtrueに。
5 0.5越の値がある場合切り捨て(|0の部分)で0になり、falseになる。
6 それを三項演算子でtrueなら引数を切り捨てて返り値に代入、falseなら切り上げて返り値に代入する。
7 */
8 var _x=x%_n;
9 _x|0||_x==0.5 ? _Value=Math.floor(_n) : _Value=Math.ceil(_n);
10 return _Value;
11};
12
13console.log(Calculate(5.5));//5
14console.log(Calculate(5.4999999));//5
15console.log(Calculate(5.50000001));//6
16console.log(Calculate(5.5926535));//6
綺麗なコードではないですが……。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/01/25 09:56
2015/01/25 11:26
2015/01/25 11:54
2015/01/26 02:54
2015/01/26 11:39