En realidad, quiero agregar dos números y el resultado debería ser el doble.

<?php

    $a=4.0;
    $b=4;
    echo $a+$b
    ?>

La salida esperada será 8.0 pero da el resultado 8. Soy nueva en PHP.

php
1
Jitendra 17 jun. 2017 a las 21:07

3 respuestas

La mejor respuesta

En realidad, funcionó correctamente y $a+$b es flotante, pero como es 8.0, muestra 8. Puede usar función number_format() para agregar un punto decimal fijo a los números.

<?php
    $a=4.0;
    $b=4;
    echo $a+$b// Ouput: 8
    var_dump($a+$b); //Output: float(8)
    echo number_format($a+$b, 1); //echo with one decimal: 8.0
?>

Puedes probarlo con otros números:

<?php
    $a=4.1;
    $b=4;
    echo $a+$b// Ouput: 8.1
    var_dump($a+$b); //Output: float(8.1)
    echo number_format($a+$b, 1); //echo with one decimal: 8.1
?>
1
Mohammad Hamedani 17 jun. 2017 a las 18:13

Puedes usar el yeso apropiado

echo (doubleval)( $a+$b); 

O flotante

0
scaisEdge 17 jun. 2017 a las 18:11

Prueba esto

<?php
    $a=4.0;
    $b=4;
    echo sprintf("%.2f", $a+$b);
?>
0
Neeraj Kumar 18 jun. 2017 a las 21:50