2008年2月15日金曜日

小数点3桁以下を四捨五入

どうやっていいかわからなくてさんざん悩んで、わかってしまえばすごく簡単だったという事がある。

InDesignのJavaScriptであちこちの数値を取っていたのだが、きちんと整数になっていることは少なくて、小数点以下がだーーーっと並んでしまう。なので小数点3桁以下を四捨五入しようと考えた。
ところが、四捨五入する命令は「小数点以下を四捨五入」するroundしかない。
じゃあどうすればいいの?整数と少数部分に分けて、少数は3桁以降は切り捨てて、それを四捨五入?その方法は?
……その事で数時間ムダにしたのだけれど、出た結論はこんなふうだった。
function shousu2(p){
var myVal=Math.round(p*100);
myVal=myVal/100;
return myVal
}

var mathObj=132.6759258803;
shousuIka2Obj=shousu2(mathObj);
alert(shousuIka2Obj);

なんのことはない、数値に100かけて四捨五入した後、100で割ればいいだけ。
簡単じゃん!そりゃあroundしかいらないわけだ。プログラマーの人というのはこういう事をちゃんと知ってるんだな、きっと。

0 件のコメント: