在php中读取文件时保留小数

在php中读取文件时保留小数,php,Php,因此,我有一个文本文档,它的字面意思如下 7 3 100 200. 300 7. 3. 100 200 300 我从文件中读取的代码是: $file = fopen("example.txt","r+") or exit("Unable to open file!"); $first = "" + fgets($file); $second = "" + fgets($file); $answers = array(); for ($x = 0; $x < $second ; $x++

因此,我有一个文本文档,它的字面意思如下

7 3 100 200. 300 7. 3. 100 200 300 我从文件中读取的代码是: $file = fopen("example.txt","r+") or exit("Unable to open file!");

$first = "" + fgets($file);
$second = "" + fgets($file);
$answers = array();

for ($x = 0; $x < $second ; $x++) {
    $answers[$x] = "" + fgets($file);
}
    echo(answers[1]);
$file=fopen(“example.txt”,“r+”)或exit(“无法打开文件!”)

$first=”“+fgets($file);
$second=”“+fgets($file);
$answers=array();
对于($x=0;$x<$second;$x++){
$answers[$x]=“”+fgets($file);
}
echo(答案[1]);

这将导致
200
被打印到屏幕上


如何在输出
200
但实际值为
200.
的行中保留小数点?

在原始代码中,您使用了一种奇怪的结构:

"" + $var
其结果是隐式地将两个操作数转换为数字。假设
$var='200'此表达式的结果将是
float(200)


200.
不是数字,而是数字的字符串表示形式。所以,如果你想保持原样,就不要把它转换成数字。

“”+fgets($file)---你为什么这样做?它隐式地将两个操作数转换为数字它将所有内容转换为一个数字?然后得到所得到的
200。
是一个字符串,而
200
是它表示的数字。你把数据和它的表示混淆了。如果你想让琴弦保持原样,那就让它保持原样吧,别跟着。我想得到
200。
所以我已经提到了——如果你想要一个字符串——把它作为一个字符串,不要把它转换成数字