Если мы ограничимся рассмотрением «традиционного» представления в стиле IEEE-754 типов с плавающей запятой, то можно ожидать, что это преобразование будет сохранять значение, если и только если мантисса типа double
имеет столько же биты, так как есть биты без знака в типе int
.
Мантисса классического типа IEEE-754 double
имеет ширину 53 бита (включая «подразумеваемый» ведущий бит), что означает, что вы можете точно представлять целые числа в диапазоне [-2^53, +2^53]
. Все из этого диапазона обычно теряет точность.
Итак, все зависит от того, насколько широкий ваш int
по сравнению с вашим double
. Ответ зависит от конкретной платформы. С 32-битным int
и IEEE-754 double
должно выполняться равенство.
Вам необходимо установить для свойства ValidateEmptyText на валидаторе значение True.