问题标签 [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.

0 投票
2 回答
10167 浏览

c++ - 阿托夫不工作?

所以我正在为一个学校项目编写一个程序,其中一部分需要让用户在命令行中输入一个随机数。然后程序使用 atof 将数字转换为浮点数,这样我就可以用它做一些数学运算。程序的那部分看起来像:

该程序已编译,但无法正常工作。我通过添加一个 cout << x; 来测试它。它表明 atof 给了我错误的号码。例如,当我在命令行中输入 5.0 作为我的编号时,它显示我的 x 是 379.7465。知道有什么问题吗?

0 投票
8 回答
219962 浏览

c - 如何将字符串转换为浮点数?

我希望输出应该是4.08000000而我只有4.00000000.

有没有办法得到点后面的数字?

0 投票
2 回答
1964 浏览

c++ - 在 Vector 上 push_back 时设置精度

我正在逐行读取 CSV 并标记每个逗号分隔值。每个标记都是一个字符串类型。我将它放入浮点类型的向量中。在下面的示例中,例如,如果 csv 中的值为 "0.08" , *beg = "0.08" ,但在向量 v 中为 "0.079999998"

有没有办法可以将向量中的精度设置为小数点后 3 位或其他东西。

例子:

0 投票
3 回答
601 浏览

c++ - C++ 中的 atof、结构和指针

这是我为学校科学博览会编写的代码示例。

当我运行此代码时,我收到此错误。

谁能解释这个错误并给我一个如何补救的例子?

0 投票
5 回答
4219 浏览

c++ - 函数 atof() 将其结果四舍五入为整数部分

为什么 atof 将“14718.5084”舍入到 14718.5?有没有办法防止这种情况(即获得整数 14718.5084)?

代码:

输出是:

谢谢

0 投票
8 回答
100391 浏览

c - 在C中将字符串转换为双变量

我已经编写了以下代码。它应该将字符串转换"88"为 double 值88并打印它

但它总是打印0。但是当我将 ret 的类型更改为 时int,它工作正常。当类型为floatdouble时,它会打印0。那么为什么我会得到这些模棱两可的结果呢?

0 投票
3 回答
131273 浏览

c - 将 char* 转换为 float 或 double

我有一个从文件中读取的值并存储为 char*。该值是货币数字、#.##、##.## 或###.##。我想将 char* 转换为可以在计算中使用的数字,我尝试了 atof 和 strtod,它们只是给了我垃圾数字。这样做的正确方法是什么,为什么我做错了?

这本质上就是我正在做的,只是从文件中读取 char* 值。当我打印出 temp 和 ftemp 变量时,它们只是垃圾,巨大的负数。

另一个编辑:

我正在 gcc 中运行这个

}

我的输出是价格:3344336.000000, 3344336.000000

编辑:这是我的代码

我的输入文件是非常简单的名称,值对是这样的:

价值为美元金额

已解决:谢谢大家,我使用的是 %d 而不是 %f 并且没有包含正确的标题。

0 投票
2 回答
1349 浏览

c - 有人知道atolf c函数吗?

我正在寻找一个类似于atol(char * to long int) 但atofl(char to long double) 的函数,有没有人知道这样做的库或执行此操作的简单方法,因为 atof在“0.00000005”上使用会消除5? 谢谢。

0 投票
1 回答
266 浏览

c++ - c++ 控制台应用程序,atof

我的问题如下。我尝试将字符串转换为双精度。这样:

但这不起作用,它只是返回 1;

但如果我尝试:

它返回 1.1。

这真的很奇怪。如果我写一个“,”但返回一个“。”,它似乎只能理解这个数字。

知道如何解决这个问题以转换“1.1”吗?

0 投票
1 回答
468 浏览

c - atof 产生奇怪的结果

我正在尝试使用 atof() 将字符串转换为双精度(显然),但结果不是我所期望的。以下是关于 atof() 之前的变量值的代码和调试信息:

一旦程序通过了 atof()。结果如下:

如您所见,在命令之前, arg 变量确实包含一个有效的双精度数。虽然,返回值为 0。让我感到困惑的是,为什么 arg 的值会发生变化?

另外,我确实包含了 stdlib.h。同样, arg 被声明为:

如果它有帮助,“10.0”是从文件中读取的。

更多代码:

这是打开和访问文件的给定代码:

头文件:

这是测试文件: