为什么MSTest向导为F后缀而不是D?

时间:2009-02-23 21:31:43

标签: c# .net visual-studio-2008 mstest

当我使用MS Visual Studio的内置单元测试向导创建测试时,它会使用如下所示的行创建代码:

double number = 0F;

在C#中,“F”代表浮动,与案例无关,“D”代表双。使用“F”后缀而不是“D”会导致精度损失。

如果是错误,我可以在哪里向Microsoft报告?

3 个答案:

答案 0 :(得分:2)

我不知道除了一个错误之外什么都不是。在这种情况下完全无害,但仍然是一个bug。您可以使用Connect报告此类事件。但是,我有更多重要的错误,除此之外,所以我不会期待太多的行动。

答案 1 :(得分:0)

如果值始终为0F,则根本不会丢失任何信息。

通常,任何浮点数都可以转换为双精度而不会损失精度(假设为IEEE 754)。

只要测试值不需要将截断表示为浮点数,那么正确性就没有问题。当想要修改值时,最终用户的困惑和增加的麻烦仍然是一个问题。

答案 2 :(得分:-1)

如果你使用十进制(M后缀),那么你不必担心它有估计错误或精度损失。