Почему в мастере MSTest суффикс F для двойников вместо D? - PullRequest
1 голос
/ 24 февраля 2009

Когда я создаю тест с помощью встроенного мастера модульных тестов MS Visual Studio, он создает код со строками, подобными приведенным ниже:

double number = 0F;

В C # «F» обозначает float, независимо от регистра, а «D» - double. Использование суффикса «F» вместо «D» приводит к потере точности.

Если это ошибка, где я могу сообщить об этом в Microsoft?

Ответы [ 3 ]

2 голосов
/ 24 февраля 2009

Я не понимаю, как это может быть что-то кроме ошибки. Совершенно безвреден в этом случае, но все же ошибка. Вы можете использовать Connect , чтобы сообщить о подобных вещах. Тем не менее, у меня были замечены гораздо более важные ошибки, чем это, поэтому я не ожидал много действий.

0 голосов
/ 24 февраля 2009

Если значение всегда 0F, то никакая информация не будет потеряна вообще.

Как правило, любое число с плавающей точкой может быть преобразовано в удвоение без потери точности (предполагается IEEE 754).

Пока тестовое значение не нуждается в усечении для представления в виде числа с плавающей запятой, проблем с правильностью не возникает. Путаница с конечными пользователями и повышенные трудности при желании изменить значения по-прежнему остаются проблемой.

0 голосов
/ 24 февраля 2009

Если вы используете десятичное число (суффикс M), вам не нужно беспокоиться о наличии ошибок оценки или потери точности.

...