Cause du problème :
Environnement du projet php+oracle, si les données extraites d'oracle sont un nombre inférieur à 1, le résultat sera 0, tel que : '0.8', et le résultat sera affiché sur la page, cela devient ".8". Après avoir lu le didacticiel d'Oracle, j'ai trouvé que la solution était to_char avant de prendre la valeur. Cependant, comme il y a trop de champs, il est très difficile de le faire. expression régulière.
Exemple :
.5=>0,5
.03=>0,03
0+.5 deviendra 0,5, la manière la plus simple à laquelle je puisse penser
$num = ".8";
$res = preg_replace('/^.(d+)/', '0.${1}', $num);
Le $res obtenu est juste
Direct var_dump((float)$str);