如何将字符串转换为double?

时间:2015-02-27 12:24:38

标签: php oracle

当我从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);

3 个答案:

答案 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]);