目前我正在尝试匹配 C# 和 C++ 应用程序。在 C++ 方面,当有一个值时,说:
const char* svalue = "554.1327";
当我使用sscanf
:
float x;
sscanf(svalue, "%f", &x);
x
将等于554.13269
,即它具有“附加”有效数字,即使它们可能四舍五入到相同的值。(我认为这个应用程序使用了一种不同的float
类型,它可以容纳超过 7 个有效数字。)
我不想改变 C++ 方面。我希望我单独的 C# 应用程序也能这样做。
例如,如果我有 float 23423.29
,我想将其转换为23423.289
,这是 a double
(因为在 C# 中,标准float
的有效数字不超过 7 个),然后将其double
转换为字符串。
我似乎找不到一种方法来做到这一点。有任何想法吗?还是我必须创建自己的函数或从 C# 端调用相同的 C++ 函数……?