Dar formato a un número a una cantidad en dólares en PHP
-
Dar formato a un número a una cantidad en dólares en PHP usando la función
number_format
-
Formatee un número a una cantidad en dólares en PHP usando la función
NumberFormatter::formatCurrency
-
Dar formato a un número a una cantidad en dólares en PHP usando una
Expresión regular
- Dar formato a un número a una cantidad en dólares en PHP manualmente
Este artículo tutorial cubrirá diferentes métodos para dar formato a un número a una cantidad en dólares en PHP con ejemplos. Éstas incluyen:
number_format
NumberFormatter::formatCurrency
Regular expressions
Manual format
También veremos por qué la función money_format
ya no se usa.
Dar formato a un número a una cantidad en dólares en PHP usando la función number_format
Usamos la función number_format
para organizar un valor con miles agrupados mientras agregamos lugares decimales y un tipo de moneda.
La función tiene cuatro parámetros:
number_format(NUMBER, DECIMAL DIGITS, THOUSANDS SEPARATOR, DECIMAL SEPARATOR)
- El número es el valor a formatear.
- Los dígitos decimales especifican cuántos lugares decimales.
- El separador decimal identifica qué cadena usar para el punto decimal.
- El separador de miles dicta la cadena utilizada como separador de miles.
Vale la pena señalar que si el parámetro separador de miles está en uso, los otros tres deben acompañarlo para que su código funcione.
Código de ejemplo:
<?php
// NUMBER
$amount = 123.45;
// TO USD - $123.45
$usd = "$" . number_format($amount, 2, ".");
echo $usd;
?>
Producción :
$123.45
Formatee un número a una cantidad en dólares en PHP usando la función NumberFormatter::formatCurrency
Este es el método más reciente y posiblemente el más fácil para formatear números en cadenas que muestran diferentes monedas.
Asegúrese de que la extensión=intl
esté habilitada en php.ini
.
Hay tres parámetros que debes tener en cuenta:
- Formatter, que es el objeto
NumberFormatter
. - Importe, que es el valor numérico de la moneda.
- La ISO 4217 dicta la moneda a utilizar.
Código de ejemplo:
<?php
// NUMBER
$amount = 123;
// TO USD - $123.00
$fmt = new NumberFormatter("en_US", NumberFormatter::CURRENCY);
$usd = $fmt->formatCurrency($amount, "USD");
echo $usd;
?>
Producción :
$123.00
Ejemplo dos:
<?php
// NUMBER
$amount = 123.456;
// TO USD - $123.46
$fmt = new NumberFormatter("en_US", NumberFormatter::CURRENCY);
$usd = $fmt->formatCurrency($amount, "USD");
echo $usd;
?>
Producción :
$123.46
Dar formato a un número a una cantidad en dólares en PHP usando una Expresión regular
Este método es una lata entera de gusanos. Entrar en sus detalles solo te confundirá.
Este método organiza los números en miles mientras agrega el signo de moneda de su elección.
Echemos un vistazo a un ejemplo:
<?php
// NUMBER
$amount = 0.13;
// REGULAR EXPRESSION
$regex = "/\B(?=(\d{3})+(?!\d))/i";
$usd = "$" . preg_replace($regex, ",", $amount);
echo $usd;
?>
Producción :
$0.13
Dar formato a un número a una cantidad en dólares en PHP manualmente
Este método es equivalente a forzar una cerradura con una fuerza brutal. Este método le brinda la ventaja de usar cualquier formato que desee.
Veamos un ejemplo:
<?php
// FOR A DOLLAR CURRENCY
function curformat ($amount) {
// SPLIT WHOLE & DECIMALS
$amount = explode(".", $amount);
$whole = $amount[0];
$decimal = isset($amount[1]) ? $amount[1] : "00" ;
// ADD THOUSAND SEPARATORS
if (strlen($whole) > 3) {
$temp = ""; $j = 0;
for ($i=strlen($whole)-1; $i>=0; $i--) {
$temp = $whole[$i] . $temp;
$j++;
if ($j%3==0 && $i!=0) { $temp = "," . $temp; }
}
$whole = $temp;
}
// RESULT
return "\$$whole.$decimal";
}
// UNIT TEST
echo curformat(100); // $100.00
Producción :
$100.00
Los métodos anteriores deberían formatear un número en una cadena que muestre dólares y centavos.
Hay otro método llamado money_format
, pero no funciona en Windows. Le recomendamos encarecidamente que no utilice esta función, ya que la han obsoleto.
John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.
LinkedIn