gpt4 book ai didi

php - php 中的 CSV 解析不允许我在表格的某些部分使用任何数学函数

转载 作者:行者123 更新时间:2023-11-30 00:15:13 27 4
gpt4 key购买 nike

我正在尝试处理 CSV 文件,拉出各个列,做一些数学运算,然后将其存储到数据库中...我可以做除数学部分之外的所有操作...

这是我当前拥有的基本代码:

$fp = fopen($_FILES['file']['tmp_name'], "r");
$i = 0;
while ( !feof($fp) )
{
$data = fgetcsv($fp,0,"\t");
print_r($data);
if(!empty($data[6])){
$url = explode('.',$data[0]);
//$math = floor((($data[6]* 100)* .5)) / 100;
$math = $data[6] * 100;
echo '' . trim($data[6]) . '<br /> ' . $math;


}

}

我尝试过对数据使用(float)trimnumber_format,每次都返回0。我尝试过在\n\r 上使用 fgetcsvstr_getcsvexplode我什至尝试将其插入mysql数据库,使用decimal和float,并且都放入0值。我将其添加为varchar,尝试将其拉出来,然后重新执行上述所有操作,但它仍然总是返回0 ....

还有其他方法来处理这些数据吗?我需要设置一些编码吗?

这是文件的复制/粘贴(很少有变化),其制表符分隔

url.url.com    50   1   2.00%   0.29    5.87    0.29

对此的任何帮助将不胜感激

最佳答案

    //$math = floor((($data[6]* 100)* .5)) / 100;

Given the value is 0.29 in the example
the following will happen

0.29 * 100 => 29.0
29.0 * .5 => 14.5
floor( 14.5 ) => 14 (as an integer)
14 / 100 => (an integer divide operation) yields 0

To obtain a non 0 result, either the original value must be quite large
or, preferably, ALL factors be float values I.E.

$math = floor((($data[6]* 100.0)* .5)) / 100.0;

关于php - php 中的 CSV 解析不允许我在表格的某些部分使用任何数学函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23706239/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com