当我从DB Oracle中选择值-0.10
但是它被选中了字符串和值-1
,为什么?
$query_for_balance = "select balance_$ from bis.client_balance_rate_plan where msisdn=$gett";
$per_for_balance = oci_parse($conn, $query_for_balance);
oci_execute($per_for_balance);
oci_fetch_all($per_for_balance, $arr_for_balance);
$balance_1 = $arr_for_balance['BALANCE_$'];
$balance_2 =$$balance_1[0];
echo($balance_2);
答案 0 :(得分:0)
echo number_format((float) $value, 2, '.', '');
是你想要的吗?
(float),它只是从string转换为float。
要转换为浮动,您只需要执行这样的转换:
$valueString = '-0.10';
$valueFloat = (float) $valueString;
答案 1 :(得分:0)
看起来你不小心使用了变量变量:
$balance_2 = $$balance_1[0];
^^ here
这会产生意想不到的结果,因为您将尝试获取不存在的变量的第一个元素,这可能会导致false
/ -1
。
你可能想要:
// get the first element of the `balance_$` column
$balance_2 = $balance_1[0];
答案 2 :(得分:0)
要在float中转换,只需使用以下代码:
$balance_2 = floatval($balance_1[0]);