作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 ascii“15605632.68128593”,我想转换
它在不失去准确性的情况下翻倍 -
so
double d;
d=(double)atof("15605632.68128593");
printf("%f",d);
printed result is 15605632.681286
最佳答案
您可能没有获得所有尾随小数位。试试 printf("%.8f", d)
.
你也可以试试 sscanf("15605632.68128593", "%lf", &d)
代替 atof
称呼。
也没有必要强制转换 atof
的结果至 double
.已经是双了。但 Actor 阵容没有坏处。
请注意 - 至少大约 6 年前,当我详细查看此内容时 - 许多 printf
和 scanf
实现是有问题的,因为它们的功能并不像你想象的那样完美。 Visual C/C++ 和 gcc 在其 native 实现中都存在问题。 This paper是一个有用的引用。
带有 gcc 4.3.4 的 Cygwin:
#include <stdio.h>
int main(void)
{
double x;
sscanf("15605632.68128593", "%lf", &x);
printf("%.8f\n", x);
return 0;
}
# gcc foo.c
# ./a
15605632.68128593
关于c - double 的 atof 精度正在引起悲伤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17077946/
我正在尝试在本地使用 Azure 存储。我有一个名为 ExpenseDataSource 的数据源类: public class ExpenseDataSource { private sta
我需要将以下 HTML 片段附加到文档中,并替换 display_spinner 参数的值:
我是一名优秀的程序员,十分优秀!