double — C ++ Builder является StrToFloat () так же, как .ToDouble ()

Я работаю в проекте XE6, но это может относиться и к другой версии компоновщика.

Я смотрю на имя функции, которое, я думаю, может вводить в заблуждение. Мне любопытно, если StrToFloat() возвращает float или если он возвращает double, Я нашел альтернативу, которая .ToDouble() но у нас уже есть несколько ссылок в нашем коде, который использует StrToFloat(), Я хочу убедиться, что я получаю правильную точность, которую предлагают двойники.

Я сделал пару тестов, таких как:

UnicodeString temp = "1234567890.12345678901234567890";
double a = StrToFloat(temp);
double b = temp.ToDouble();

Похоже, что они дают те же значения из тестов, которые я сделал, но я хочу проверить StrToFloat() такой же как .ToDouble()

0

Решение

Я нашел достаточно ссылок, чтобы ответить на мой собственный вопрос …

StrToFloat() возвращает extended и расширенный является long double,

.ToDouble() возвращает double,

Таким образом, короткий ответ: они не одинаковы и различаются, как показано выше.

Рекомендации:

0

Другие решения