strtod

    3热度

    4回答

    如果我想将字符数组中的前3个字符解析为double,忽略下列字符,我真的需要这样做吗? int main() { const char a[] = "1.23"; char *b = malloc(sizeof(char) * 4); memcpy(b, a, sizeof(char) * 3); b[3] = '\0'; printf("

    4热度

    1回答

    简单的问题:双精度数字1.15507e-173的正确位表示是什么? 完整的问题:如何确定这个数字的正确解析? 背景:我的问题,从this answer这显示了两种不同从三个不同的解析器,即 0x1c06dace8bda0ee0 和 0x1c06dace8bda0edf ,我想知道这解析器这样做是正确的位表示如下。 更新科the C99 specification 6.4.4.2说,为C解析

    4热度

    3回答

    我正在将部分C++程序转换为Python,但我在替换C++函数strtod时遇到了一些麻烦。 我正在处理的字符串包含简单的数学方程式,如“KM/1000.0”。问题是这两个常量和数字是混合的,因此我无法使用float()。 如何写一个Python函数来模拟C++ strtod,它返回转换后的数字和下一个字符的位置?

    2热度

    1回答

    有什么办法可以从Windows CRT string获取NaN到float函数? 为什么:我使用C编写,没有信息丢失的IEEE float到string转换器(strtod,sscanf或atof交回原float)提供的舍入模式不改变。 我在MinGW或Visual C++下,所以这些调用转到MSVC++运行时。问题是我无法解析任何特殊值(如"Inf"或"NaN")。 Inf是好的(它在解析了一个

    -1热度

    2回答

    我做了我自己的strtod()函数。 我可以printf在控制台,但它给这样的警告当它运行: myStrTod.c|29|warning: "assignment discards 'const' qualifier from pointer target type"| #include<stdio.h> float myStrTod(const char * nPtr, char ** end

    0热度

    2回答

    自定义double strtod (const char * str, char ** endptr); C基准点为强大的功能提供了一个例子: char szOrbits[] = "365.24 29.53"; char * pEnd; double d1, d2; d1 = strtod (szOrbits,&pEnd); d2 = strtod (pEnd,NULL); 如果end

    0热度

    1回答

    翻一番,我需要字符串转换精度高达一倍,达到15位 我看了很多文章,类似的问题,并打印出来的数字时,他们建议使用setprecision(15)到屏幕上。 例如: string line = "34.9438553"; double lon1 = strtod(line.c_str(),NULL); 如果我写 cout << lon1; 只会打印34.9439代替34.9438553 我也

    0热度

    1回答

    的源代码(我不知道哪个版本是这样的,它只是从网站摘录)。在for循环的开头部分,评论说:“我们得到了足够的数字,而我们只是忽略了其余部分”。 为什么这是真的吗?为什么这个“并不一定意味着结果会溢出。”“? /* Convert NPTR to a double. If ENDPTR is not NULL, a pointer to the character after the las

    3热度

    4回答

    我觉得这很奇怪。 尽管strtod在输入字符串中接受'e'作为其中一个字符(准确地说是一个字符),但我发现它也接受'd'。 有人能解释一下吗? #include <stdio.h> #include <stdlib.h> int main() { char *s[] = {"1a1", "1e1", "1d1", "1f1"}; char * pEnd; double d0, d1,

    7热度

    3回答

    我有一个从文件读入的值,并且存储为char *。该值是一个货币编号,#。##,##。##或###。##。我想将char *转换为一个我可以用于计算的数字,我尝试过atof和strtod,他们只是给我垃圾数字。做这件事的正确方法是什么,为什么我这样做是错误的? 这实质上就是我在做什么,只是从文件读入char *值。当我打印出temp和ftemp变量时,它们只是垃圾,巨大的负数。 另一个编辑: 我在G