C++ Builder 是 StrToFloat() 与 相同.ToDouble()
C++ Builder is StrToFloat() the same as .ToDouble()
我正在一个XE6项目中工作,但这也可能适用于其他版本的构建器。
我正在查看一个函数名称,我认为这可能会产生误导。我很好奇StrToFloat()
是否返回float
或返回double
.我找到了另一种选择,它.ToDouble()
但是我们的代码中已经有一堆使用StrToFloat()
的引用。我想验证我是否获得了双倍提供的适当精度。
我做了一些测试,例如:
UnicodeString temp = "1234567890.12345678901234567890";
double a = StrToFloat(temp);
double b = temp.ToDouble();
这些似乎从我所做的测试中给出了相同的值,但我希望验证StrToFloat()
是否与.ToDouble()
相同
我找到了足够的参考资料来回答我自己的问题......
StrToFloat()
返回一个extended
,扩展是一个long double
。
.ToDouble()
返回一个double
。
所以简短的回答是它们不一样,并且如上所示而有所不同。
引用:
-
StrToFloat()
:http://docwiki.embarcadero.com/Libraries/XE6/en/System.SysUtils.StrToFloat -
Extended
:http://docwiki.embarcadero.com/Libraries/XE6/en/System.Extended -
.ToDouble()
:http://docwiki.embarcadero.com/Libraries/XE2/en/System.UnicodeString.ToDouble -
long double
比double
精度更精确。 http://en.wikipedia.org/wiki/Long_double
相关文章:
- std::具有相同基类的类的变体
- 当在同一名称空间中有两个具有相同签名的函数时,会发生什么
- C++ 指针的内存地址和指向数组的内存地址如何相同?
- 不断收到相同的错误...怎么了?C++
- 具有最大子序列大小的序列,每个元素都相同
- 在两个类中共享相同的函数调用,并在不需要时避免空实例化
- 在调用FreeLibrary后,释放动态链接到具有相同版本的CRT堆的DLL的内存
- 是否可以使用winusb同时与多个相同的usb设备进行通信
- c++类声明时,相同的例程,不同的成员变量类型
- 不同语言中相同代码的不同行为
- 如何检查一个c++字符串中有多少相同的字符/数字
- visual是否可以在c++中创建一个接收无限数量相同类型(或至少相当数量)参数的函数
- c++找不到具有相同哈希的无序集合元素
- 我可以做些什么来消除或最小化这种将提供相同功能和行为的代码重复
- 检查函数返回类型是否与STL容器类型值相同
- 从类型std::函数传递变量失败,尽管调用方期望的类型完全相同
- gdb错误:Backtrace已停止:上一帧与此帧相同(堆栈已损坏?)
- 通过交换元素使数组相同
- 使用 boost 进行标记化会给出相同的输出
- C++ Builder 是 StrToFloat() 与 相同.ToDouble()