Cause of the problem:
Project environment php+oracle, if the data taken out from oracle is a number less than 1, the result will be 0, such as: '0.8', and the result will be displayed on the page It becomes '.8'. After reading Oracle's tutorial, I found that the solution is to_char before taking the value. However, because there are too many fields, it is very troublesome to do this. I plan to replace it with regular expression.
Example:
.5=>0.5
.03=>0.03
0+.5 will become 0.5, the simplest way I can think of
$num = ".8";
$res = preg_replace('/^.(d+)/', '0.${1}', $num);
The obtained $res is just
Direct var_dump((float)$str);