use*_*046 3 c++ floating-point double parsing
我想解析文件,并确定如果我读过的数量float或double.我解析的文件是Matrix Market格式的矩阵之一(如下所示:https://sparse.tamu.edu/HB/1138_bus).
基本上输入按此顺序int int float (or double):
1138 1138 2596
1 1 1474.779
5 1 -9.017133
563 1 -5.730659
2 2 9.136654
10 2 -3.405995
Run Code Online (Sandbox Code Playgroud)
等等...
当我读取浮点数时,我想确定数字是否可以存储float或者需要大的数据,比如double.
是否有一些最好的阅读方式,同时确定字符串是否可以存储float或double?
读取十进制值的问题在于,通过查看它们是否float具有足够的精度来判断它们并不容易.
例如,1.0009765625将完全修复,float但1.1不完全适合double(或任何二进制浮点类型).
double在读取浮点类型时,最好总是使用. float除非你有非常具体的理由这样做,否则一般应该避免.