我有一个函数可以读入文件并将其作为网格打印出来。
这是文件(输入):
2 2
1.83 5.64
7.36 4.10
但是当它打印出矩阵时,它只返回整数(输出):
2 2
1.00 5.00
7.00 4.00
如何获得打印十进制数的功能?
通缉输出(即):
2 2
1.83 5.64
7.36 4.10
答案 0 :(得分:2)
你的问题不是strtok
,而是这样:
double newVal = strtol(value, &ptr, 10);
strtol
将字符串转换为long
,而不是double
,因此它会丢弃小数部分。请改用strtod
:
double newVal = strtod( value, &ptr );