MS Visual Studio の組み込み単体テスト ウィザードを使用してテストを作成すると、次のような行のコードが作成されます。
double number = 0F;
C# では、"F" は大文字と小文字を区別しない float を表し、"D" は double を表します。「D」の代わりに「F」サフィックスを使用すると、精度が失われます。
バグの場合、Microsoft のどこに報告すればよいですか?
MS Visual Studio の組み込み単体テスト ウィザードを使用してテストを作成すると、次のような行のコードが作成されます。
double number = 0F;
C# では、"F" は大文字と小文字を区別しない float を表し、"D" は double を表します。「D」の代わりに「F」サフィックスを使用すると、精度が失われます。
バグの場合、Microsoft のどこに報告すればよいですか?
それがバグ以外の何物であるかはわかりません。この場合、完全に無害ですが、それでもバグです。Connectを使用して、このようなことを報告できます。ただし、これよりもはるかに重要なバグが一掃されたため、多くのアクションは期待できません。
値が常に 0F の場合、情報はまったく失われません。
一般に、どの float も精度を失うことなく double に変換できます (IEEE 754 を想定)。
テスト値が float として表現されるために切り捨てを必要としない限り、正確性に関して問題はありません。値を変更したい場合のエンド ユーザーの混乱と手間の増加は、依然として問題です。
Decimal (M サフィックス) を使用すると、推定エラーや精度の低下を心配する必要はありません。