概要
入力値がマイナス かつ 少数点第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)」で違う
エクセルVBA | 0の方向へ丸まる |
JavaScript | 0の方向へ丸まる |
C# | 0の方向へ丸まる |
エクセル関数 | 0の逆方向へ丸まる |
SQL Server(T-SQL) | 0の逆方向へ丸まる |