teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

5

追記

2020/12/03 02:47

投稿

退会済みユーザー
answer CHANGED
@@ -3,7 +3,7 @@
3
3
 
4
4
  で良いかと思います。ただ、aa, bbもDecimalにすれば、そもそもCDecの必要性はありませんので、可能な限り同じ型で計算した方がいいです。不必要な型変換は、最終的な精度に影響を与える場合もあります。
5
5
 
6
- 単純な有効桁数ならDecimalの方が上なので、精度が重要であれば、本当にDoubleを使用する必要があるかどうかはよく考える必要があります。
6
+ 単純な有効桁数ならDecimalの方が上なので、精度が重要であれば、本当にDoubleを使用する必要があるかどうかはよく考える必要があります。(浮動小数点型の誤差の問題もあります)
7
7
  まず扱う数値の必要な桁数を考慮し、必要があればDecimal.Round,Math.Roundメソッド等を使用して丸め処理を行ってください。
8
8
 
9
9
  [DOBON.NET - 小数(浮動小数点数型)の計算が思った結果にならない理由と解決法](https://dobon.net/vb/dotnet/beginner/floatingpointerror.html)

4

修正

2020/12/03 02:47

投稿

退会済みユーザー
answer CHANGED
@@ -1,7 +1,7 @@
1
1
  提示されている例だと、
2
2
  > Result = CDec(aa) * CDec(BB)
3
3
 
4
- で良いかと思います。ただ、aa, bbもDecimalにすれば、そもそもCDecの必要性はありませんので、可能な限り同じ型で計算した方がいいです。
4
+ で良いかと思います。ただ、aa, bbもDecimalにすれば、そもそもCDecの必要性はありませんので、可能な限り同じ型で計算した方がいいです。不必要な型変換は、最終的な精度に影響を与える場合もあります。
5
5
 
6
6
  単純な有効桁数ならDecimalの方が上なので、精度が重要であれば、本当にDoubleを使用する必要があるかどうかはよく考える必要があります。
7
7
  まず扱う数値の必要な桁数を考慮し、必要があればDecimal.Round,Math.Roundメソッド等を使用して丸め処理を行ってください。

3

追記

2020/12/03 02:41

投稿

退会済みユーザー
answer CHANGED
@@ -1,3 +1,8 @@
1
+ 提示されている例だと、
2
+ > Result = CDec(aa) * CDec(BB)
3
+
4
+ で良いかと思います。ただ、aa, bbもDecimalにすれば、そもそもCDecの必要性はありませんので、可能な限り同じ型で計算した方がいいです。
5
+
1
6
  単純な有効桁数ならDecimalの方が上なので、精度が重要であれば、本当にDoubleを使用する必要があるかどうかはよく考える必要があります。
2
7
  まず扱う数値の必要な桁数を考慮し、必要があればDecimal.Round,Math.Roundメソッド等を使用して丸め処理を行ってください。
3
8
 

2

追記

2020/12/03 02:39

投稿

退会済みユーザー
answer CHANGED
@@ -1,2 +1,4 @@
1
1
  単純な有効桁数ならDecimalの方が上なので、精度が重要であれば、本当にDoubleを使用する必要があるかどうかはよく考える必要があります。
2
- まず扱う数値の必要な桁数を考慮し、必要があればDecimal.Round,Math.Roundメソッド等を使用して丸め処理を行ってください。
2
+ まず扱う数値の必要な桁数を考慮し、必要があればDecimal.Round,Math.Roundメソッド等を使用して丸め処理を行ってください。
3
+
4
+ [DOBON.NET - 小数(浮動小数点数型)の計算が思った結果にならない理由と解決法](https://dobon.net/vb/dotnet/beginner/floatingpointerror.html)

1

修正

2020/12/03 02:31

投稿

退会済みユーザー
answer CHANGED
@@ -1,2 +1,2 @@
1
1
  単純な有効桁数ならDecimalの方が上なので、精度が重要であれば、本当にDoubleを使用する必要があるかどうかはよく考える必要があります。
2
- まず扱う数値の必要な桁数を考慮し、必要があればRoundメソッド等を使用して丸め処理を行ってください。
2
+ まず扱う数値の必要な桁数を考慮し、必要があればDecimal.Round,Math.Roundメソッド等を使用して丸め処理を行ってください。