- ベストアンサー
roundupについて教えてください。
roundup(1371.2, -1) = 1380 小数点の左側 1 桁の 1 の位で切り上げたいのですが javascriptではどのように記述すればよいでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
たとえばこんなかんじ <script> function roundup(num,digit){ var d=Math.pow(10,(digit)); var n=Math.ceil(num*d)/d; return n; } alert(roundup(1371.2,-1)); alert(roundup(1371.2,-2)); alert(roundup(1371.2,-3)); </script>
その他の回答 (2)
- yyr446
- ベストアンサー率65% (870/1330)
回答No.3
すみませんNo1の回答はまちがってました。 Math.pow(c,d)が必要でした。 Math.pow(c,d)はcのd乗を返すです。 ※Math.pow(10,-1)は1/10の事になります。 No.2さんが正しいです x=1371.2; y=-1; x=roundup(x,y); function roundup(x,y){ Math.ceil(x * Math.pow(10,y))/Math.pow(10,y); return x; }
質問者
お礼
訂正までしていただきありがとうございます。
- yyr446
- ベストアンサー率65% (870/1330)
回答No.1
Math.ceil(n)を使えば、n の小数点以下を繰り上げた整数値が返ります。 x=1371.2; y=1; x=roundup(x,y); function roundup(x,y){ Math.ceil(x/10*y)*10*y; return x; }
お礼
非常に役立ちました。 ありがとうございます。