问题标签 [atof]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 内存泄漏 strtok & atof
嘿!
使用此功能,我想从文件中读取矩阵到二维数组该矩阵的行数与列数一样多。我想用strtok按空格分割行。这些行已经被读入另一个函数的向量中。(有效 - 测试了它)。所以我不知道这个问题,因为我试图用一个小矩阵 4 列 4 行来运行它,效果很好!现在我想用一个有 1000 多行和尽可能多的列的大矩阵来尝试它。我从 valgrind 收到此错误消息:
大小 1 ==26501== 在 0x58A87AB 处的无效读取:_ _strtod_l_internal (strtod_l.c:538) ==26501== 0x4015BB:fromVectoEigen(std::vector >&, double**&, int&) (topo.cpp :70) ==26501== by 0x40362B: main (main.cpp:36) ==26501== 地址 0x0 没有被堆栈、malloc 或(最近)释放
我尝试了注释/取消注释方法,在我使用 atof 的地方一切正常……我不明白,因为它与小矩阵一起工作得很好
大矩阵中的值如下所示: 0.11991517 在小测试矩阵中,我只有 0 或 0.1 之类的值
我希望我解释得足够多......如果需要,请询问更多细节。
c - atof 将字符串读取为 0
我想我只是愚蠢(我尝试了所有)。帮我离开这里:
结果:
c++ - 将 atof 用于整数
我继承了一些代码(从已经离开的人那里)并找到了这个小片段:
他选择将 atoi 用于整数类型有什么原因吗?我看不出有问题:
谢谢。
android - Android ndk atof()
嗨,我有一个使用 ndk 的 android 项目
有定义的 ac 函数 atof()
但不知何故,它总是导致 0.0
任何想法为什么?
参数 nextArg 似乎不是问题
c - 如何转换从文件(char)中获取的值并将值存储到双精度数组中?
我正在从文件中读取数据,检索我有多少列和行(数据文件),到目前为止的一切。现在我正在尝试一个一个地读取这些值并将这些值存储到一个二维数组(双精度)中。我使用 getc 将值作为 char 获取,但是当我尝试使用 atoi 或 atof 将值从 char 转换为 double 时,我得到了奇怪的值。
有什么建议吗?…(我一直在寻找)。对不起,我有一个文件 data.txt,这个文件有一行一列数字:
1 2 3 4 5
6 7 8 9 10
所以我需要将数据存储到一个二维数组中:感谢答案,我有一些想法,比如:使用一个字符串,然后划分所有值并存储它们中的每一个。第一行是字符串-> 数组[0][0]、数组[0][1] 等。然后移动到另一行并执行相同操作。
到目前为止,我得到了一些数值,但它们都没有存储在 data.txt 中。
c++ - atof 随机无法正常工作
我似乎在atof()函数没有正确转换某些值时遇到了一些奇怪的问题。对于相同的值,atoi()可以完美运行。
这是我正在做的一个小片段:
出于某种奇怪的原因,只有方法#2 似乎总是能正常工作。
样本输出
FOR:频率=“a30b30c40”
两种方法都可以正常工作,给我:
a - 0.30
b - 0.30
c - 0.40
FOR:频率=“a10b10c10d10e10f50”
使用atof()我得到:
a - 0.10
b - 0.10
c - 1000000000.00 !?
d - 1000000000.00 !?
e - 0.10
f - 0.50
而atoi() 正确地给了我这个:
a - 0.10
b - 0.10
c - 0.10
d - 0.10
e - 0.10
f - 0.50
ps 我不能使用 std::stod 因为 mingw...
c - 将字符串转换为双精度并返回字符串
我在将字符串转换为双精度时遇到问题,并且不确定出了什么问题。我的添加功能:
这是我的打开保险丝功能部分:
所以我尝试cat test/add/1/2
得到一个结果,0.00
在我的调试器中我得到:
因此,在 add 函数中,第一个 printf 正确显示了字符串“1”和“2”,但是当我尝试使用strtod()
or对其进行转换时atof()
,它会将我的字符串转换为 0.000000 和 0.000000。有任何想法吗?
c - atof() assining 0 where needs to be a dobule
I'm trying to write my school assignment of rpn clalculator with providing expression by command line. Ex ./calc 2 + 5 \* sin 78
My idea is to use the struct
data type to keep the number value or the operator type.
Here is the main to clarify all:
When I run the get_the_onp()
function the atof()
isn't working as I suspect. Here is the get_the_onp()
:
The output for the example expression is:
I guess that there is something with the pointer current
but I've no idea where to follow now.
c++ - 使用 atof C++ 转换 char 数组中的浮点数
我一直在寻找类似的问题,但仍然无法找到解决问题的方法。
我正在获取一个文本文件并将其转换为二进制文件以在另一个程序中使用。另一个程序编译并输出一切都很好,但问题似乎在于我的文件转换。
输入文本文件如下所示...
当我运行程序并检查二进制文件(使用单独的程序)时,我可以看到转换后的文件,但它看起来像这样:
这最初是用 C 语言编写的,我开始怀疑这是否反映在我的教授给我们制作二进制文件的代码中。有什么建议么?
更新:这是另一个程序中读取文件以“检查”的函数
c++ - 使用 atof 将字符串转换为浮点数最后会产生非常小的十进制数
我有一个存储十进制值的字符串,例如“0.10”。我想将其转换为浮点数。但是当我使用 atof 来做这件事时,我得到的数字并不完全是它应该的值。我正在编写一些复杂的算法,涉及对十进制值进行一些数字处理,所以这让我的最终结果无法接受。
这是一些描述我遇到的问题的简单代码。在这里,我只是简单地将一个十进制值放入一个字符串中,然后用 atof 将其转换为浮点数,然后用 cout 将其打印出来。我得到的结果表明 atof 正在向最终值添加一个很小的十进制数。
输出是:
有任何想法吗?我在 Ubuntu 上使用 GNU g++ 编译器。会不会是这个编译器的错误导致了这个问题?如果是这样,还有其他方法可以将值转换为浮点数并获得正确的值吗?谢谢。
编辑:虽然这个问题对为什么会发生这种情况给出了部分解释,但它并没有给出完整的价值,它只提供了一个可能有效也可能无效的单一解决方案。因此,我认为将这个问题作为一个单独的问题开放是有效的。