C++ Builder 是 StrToFloat() 与 .ToDouble() 相同

标签 c++ double floating-point-precision c++builder-xe6

我在 XE6 项目中工作,但这也可能适用于其他版本的构建器。

我正在查看一个函数名称,我认为它可能具有误导性。我很好奇 StrToFloat() 是返回 float 还是返回 double。我找到了一个替代方法,它是 .ToDouble() 但我们的代码中已经有一堆使用 StrToFloat() 的引用。我想验证我是否获得了 double 提供的正确精度。

我做了几个测试,比如:

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

这些似乎给出了与我所做的测试相同的值,但我想验证 StrToFloat() 是否与 .ToDouble()

最佳答案

我找到了足够多的引用来回答我自己的问题...

StrToFloat() 返回一个 extended,一个 extended 是一个 long double

.ToDouble() 返回一个 double

简短的回答是它们不一样,并且如上所示有所不同。

引用资料:

关于C++ Builder 是 StrToFloat() 与 .ToDouble() 相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25272249/

相关文章:

java - roundToDecimals 返回太多数字

c++ - 在用 C\C++ 编写的代码上下文中的乱序执行与有序执行

c++ - 创建在linux中使用opencv的C++动态库

c++ - 为什么 const T*& 不能绑定(bind)到 T*?

c - 将 double 组转换为字符串数组

c - pow() 似乎在这里被淘汰了

c++ - std::vector 的高效传递

java - 从串口读取double

java: double == 和 Double equals

c - 在 C 中显示从 0.000000001 到 0.999999999 的数字