言語によってROUND関数(四捨五入の処理)の結果は違う ※入力値がマイナス かつ 少数点第1位が5の場合

概要

入力値がマイナス かつ 少数点第1位が5の場合、言語によってROUND関数(四捨五入の処理)の結果は違う。

以下のどちらかになる。
・0の方向に丸める
・0の方向に丸める

各言語のROUND関数(四捨五入の処理)の結果は、上記のどちらになるのかを確認する。

ここでは入力値として「-100.5」を使用する。

エクセルVBAの場合

0の方向に丸める。

JavaScriptの場合

0の方向に丸める。

<!DOCTYPE html>
<html lang="ja">
<head>
	<meta charset ="UTF-8">
	<title>サンプル</title>
</head>

<body>
	
	<script type="text/javascript">
		alert(Math.round(-100.5));
	</script>
	
</body>
</html>

C#の場合

0の方向に丸める。

private void Button_Click_1(object sender, RoutedEventArgs e)
{
    MessageBox.Show(Math.Round(-100.5).ToString());
}

エクセル関数の場合

0の方向に丸める。

SQL Server(T-SQL)の場合

0の方向に丸める。

まとめ

・エクセルでも「VBA」と「関数」で違う
・Microsoftでも「C#」と「SQL Server(T-SQL)」で違う

エクセルVBA0の方向に丸める
JavaScript0の方向に丸める
C#0の方向に丸める
エクセル関数0の方向に丸める
SQL Server(T-SQL)0の方向に丸める

タイトルとURLをコピーしました