GOOGLE ADS

sábado, 30 de abril de 2022

php: agregue el separador de miles de comas pero elimine los ceros finales

Estoy tratando de usar PHP para formatear un número para

  • Eliminar todos los ceros finales


  • Agregue una coma para el separador de miles


  • Haz una lista de dos puntos decimales, asumiendo que no son ceros


  • Intenté esto, pero no está haciendo exactamente lo que estoy tratando de lograr:

    $prices[$title]['reg_price'] = (float)number_format($membership->sell_price, 2, ".", "");
    $prices[$title]['three_year_price'] = (float)number_format($membership->attributes[$aid]->options[$three_year_oid]->price, 2, ".", "");

    Descubrí que podía eliminar los ceros finales convirtiendo el número en un flotador. Sin embargo, descubrí que necesitaba decirle a number_format que NO use el separador de coma de miles, porque de lo contrario, al convertir 1,500.00 a un flotante, el resultado fue 1.

    En resumen, quiero que mi código cambie de 1500,00 a 1500, de 150,00 a 150 y de 19,99 a 19,99. ¿Cómo puedo hacer que esto suceda?


    Solución del problema

    function parseCurrency($value) {
    if ( intval($value) == $value ) {
    $return = number_format($value, 0, ".", ",");
    }
    else {
    $return = number_format($value, 2, ".", ",");
    /*
    If you don't want to remove trailing zeros from decimals,
    eg. 19.90 to become: 19.9, remove the next line
    */
    $return = rtrim($return, 0);
    }
    return $return;
    }
    $prices[] = parseCurrency(1500.00);
    $prices[] = parseCurrency(1500.10);
    $prices[] = parseCurrency(1500.1);
    $prices[] = parseCurrency(1500);
    $prices[] = parseCurrency(123.53);
    $prices[] = parseCurrency(1224323.53);
    $prices[] = parseCurrency(19.99);
    print_r($prices);

    Salidas:

    Array
    (
    [0] => 1,500
    [1] => 1,500.1
    [2] => 1,500.1
    [3] => 1,500
    [4] => 123.53
    [5] => 1,224,323.53
    [6] => 19.99
    )

    No hay comentarios.:

    Publicar un comentario

    Flutter: error de rango al acceder a la respuesta JSON

    Estoy accediendo a una respuesta JSON con la siguiente estructura. { "fullName": "FirstName LastName", "listings...