SYNCERのロゴ
アイキャッチ画像

Math.round() - 端数を四捨五入する

Math.round()は、小数点以下の端数を四捨五入するメソッドです。注意点として、Math.round(x)Math.floor(x+0.5)と同じです。つまり負の数の-1.5-2.5といった0.5の数値は切り捨てられます(例: Math.round( -1.5 ) = -1)

概要

名前
round
所属
Math
仕様書
https://tc39.github.io/ecma262/#sec-math.round

説明

Math.round ( x )

xに最も近く、数学的な整数に等しい数値を返します。 2つの整数の数値がxに等しく近い場合、結果は+Infinityに近い数値になります。 xが既に整数の場合、結果はxです。

  • xがNaNの場合、NaNを返します。
  • xが+0の場合、+0を返します。
  • xが-0の場合、-0を返します。
  • xが+Infinityの場合、+Infinityを返します。
  • xが-Infinityの場合、-Infinityを返します。
  • xが0以上、0.5未満の場合、+0を返します。
  • xが0未満で、-0.5を超過する場合、-0を返します。

次は2つは同じ値になります。

Math.round(x) ;
Math.floor(x+0.5) ;

デモ

Math.round()のデモです。負の数の小数点第1位が5の場合の仕様にご注意下さい。-2.5-3になりそうですが、実際は-2になります。

<!-- このコードは編集できます。 -->

<!DOCTYPE html>
<html>
<head>
	<style>
body {
	white-space: pre-wrap ;
}
	</style>
</head>
<body>
<script>
/** try it! **/
var a = Math.round( 1.7 ) ;
var b = Math.round( 1.2 ) ;
var c = Math.round( -2.5 ) ;	// 要注意
var d = Math.round( -2.2 ) ;
var e = Math.round( NaN ) ;
var f = Math.round( Infinity ) ;
/** try it! **/

var results = { a:a, b:b, c:c, d:d, e:e, f:f, } ;

for( var name in results ) {
	console.log( name, results[name] ) ;
	document.body.appendChild( new Text( name + " = " + results[name] + "\n" ) ) ;
}
</script>
</body>
</html>

サポート状況

ChromeFirefoxSafariEdgeIEOperaiOS SafariAndroid
  • Twitterでシェア
  • Facebookでシェア
  • Google+でシェア
  • はてなブックマークでシェア
  • pocketに保存
  • LINEでシェア
更新履歴
2017年9月25日 (月)
コンテンツを公開しました。