1
0
mirror of https://github.com/php/doc-es.git synced 2026-03-26 08:22:08 +01:00
Files
archived-doc-es/reference/math/functions/round.xml
Pedro Antonio Gil Rodríguez c130a4aaab Actualización a la última versión
git-svn-id: https://svn.php.net/repository/phpdoc/es/trunk@329380 c90b9560-bf6c-de11-be94-00142212c4b1
2013-01-31 08:02:01 +00:00

264 lines
8.0 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 04b11e621f6ccf857368d90262f051a8d40c865d Maintainer: yago Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.round" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>round</refname>
<refpurpose>Redondea un float</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>float</type><methodname>round</methodname>
<methodparam><type>float</type><parameter>val</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>precision</parameter><initializer>0</initializer></methodparam>
<methodparam choice="opt"><type>int</type><parameter>mode</parameter><initializer>PHP_ROUND_HALF_UP</initializer></methodparam>
</methodsynopsis>
<para>
Devuelve el valor redondeado de <parameter>val</parameter> con
la <parameter>precision</parameter> especificada
(número de dígitos después del punto decimal).
<parameter>precision</parameter> puede también ser negativo o cero (valor predeterminado).
</para>
<!-- It's not true
<para>
<caution>
<simpara>
Cuando se redondea mitades exactas, <function>round</function> redondea por debajo
en pares y por arriba en impares. Si se quiere forzar siempre el redondeo en una
dirección para .5 (o .05 en su caso) se deberá añadir un pequeño factor adicional.
La razon de redondear las mitades exactas por debajo y por arriba es para evitar
el clásico problema bancario donde si siempre se redondeaba por debajo se estaría
robando dinero de los clientes, o si siempre se redondeaba por arriba se estaría al
final perdiendo dinero. Mediante el redondeo dependiendo en pares e impares se obtiene
el punto de equilibrio estadístico.
</simpara>
</caution>
</para>
-->
<para>
<note>
<simpara>
PHP no maneja correctamente cadenas como <literal>"12,300.2"</literal> por defecto.
Consulte <link linkend="language.types.string.conversion">
conversión desde cadenas</link>.
</simpara>
</note>
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>val</parameter></term>
<listitem>
<para>
El valor a redondear
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>precision</parameter></term>
<listitem>
<para>
Opcionalmente, el número de dígitos decimales a redondear.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>mode</parameter></term>
<listitem>
<para>
Use una de las siguientes constantes para especificar el modo de redondeo.
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>Constante</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry><constant>PHP_ROUND_HALF_UP</constant></entry>
<entry>
Redondea <parameter>val</parameter> hacia arriba a <parameter>precision</parameter> lugares decimales
alejándose de cero, cuando está a medio camino. Hace que 1.5 sea 2, y -1.5 sea -2.
</entry>
</row>
<row>
<entry><constant>PHP_ROUND_HALF_DOWN</constant></entry>
<entry>
Redondea <parameter>val</parameter> hacia abajo a <parameter>precision</parameter> lugares decimales
hacia cero, cuando está a medio camino. Hace que 1.5 sea 1, y -1.5 sea -1.
</entry>
</row>
<row>
<entry><constant>PHP_ROUND_HALF_EVEN</constant></entry>
<entry>
Redondea <parameter>val</parameter> a <parameter>precision</parameter> lugares decimales
hacia el siguiente valor par.
</entry>
</row>
<row>
<entry><constant>PHP_ROUND_HALF_ODD</constant></entry>
<entry>
Redondea <parameter>val</parameter> a <parameter>precision</parameter> lugares decimales
hacia el siguiente valor impar.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
El valor redondeado
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplos de <function>round</function></title>
<programlisting role="php">
<![CDATA[
<?php
echo round(3.4); // 3
echo round(3.5); // 4
echo round(3.6); // 4
echo round(3.6, 0); // 4
echo round(1.95583, 2); // 1.96
echo round(1241757, -3); // 1242000
echo round(5.045, 2); // 5.05
echo round(5.055, 2); // 5.06
?>
]]>
</programlisting>
</example>
</para>
<para>
<example>
<title>Ejemplos de <parameter>mode</parameter></title>
<programlisting role="php">
<![CDATA[
<?php
echo round(9.5, 0, PHP_ROUND_HALF_UP); // 10
echo round(9.5, 0, PHP_ROUND_HALF_DOWN); // 9
echo round(9.5, 0, PHP_ROUND_HALF_EVEN); // 10
echo round(9.5, 0, PHP_ROUND_HALF_ODD); // 9
echo round(8.5, 0, PHP_ROUND_HALF_UP); // 9
echo round(8.5, 0, PHP_ROUND_HALF_DOWN); // 8
echo round(8.5, 0, PHP_ROUND_HALF_EVEN); // 8
echo round(8.5, 0, PHP_ROUND_HALF_ODD); // 9
?>
]]>
</programlisting>
</example>
<example>
<title>Ejemplos de <parameter>mode con precisión</parameter></title>
<programlisting role="php">
<![CDATA[
<?php
/* Usar PHP_ROUND_HALF_UP com precisión de 1 dígito decimal */
echo round( 1.55, 1, PHP_ROUND_HALF_UP); // 1.6
echo round( 1.54, 1, PHP_ROUND_HALF_UP); // 1.5
echo round(-1.55, 1, PHP_ROUND_HALF_UP); // -1.6
echo round(-1.54, 1, PHP_ROUND_HALF_UP); // -1.5
/* Usar PHP_ROUND_HALF_DOWN com precisión de 1 dígito decimal */
echo round( 1.55, 1, PHP_ROUND_HALF_DOWN); // 1.5
echo round( 1.54, 1, PHP_ROUND_HALF_DOWN); // 1.5
echo round(-1.55, 1, PHP_ROUND_HALF_DOWN); // -1.5
echo round(-1.54, 1, PHP_ROUND_HALF_DOWN); // -1.5
/* Usar PHP_ROUND_HALF_EVEN com precisión de 1 dígito decimal */
echo round( 1.55, 1, PHP_ROUND_HALF_EVEN); // 1.6
echo round( 1.54, 1, PHP_ROUND_HALF_EVEN); // 1.5
echo round(-1.55, 1, PHP_ROUND_HALF_EVEN); // -1.6
echo round(-1.54, 1, PHP_ROUND_HALF_EVEN); // -1.5
/* Usar PHP_ROUND_HALF_ODD com precisión de 1 dígito decimal */
echo round( 1.55, 1, PHP_ROUND_HALF_ODD); // 1.5
echo round( 1.54, 1, PHP_ROUND_HALF_ODD); // 1.5
echo round(-1.55, 1, PHP_ROUND_HALF_ODD); // -1.5
echo round(-1.54, 1, PHP_ROUND_HALF_ODD); // -1.5
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>5.3.0</entry>
<entry>
Se introdujo el parámetro <parameter>mode</parameter>.
</entry>
</row>
<row>
<entry>5.2.7</entry>
<entry>
El funcionamiento interno en <function>round</function> se modificó
para adecuarse al estándar C99.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>ceil</function></member>
<member><function>floor</function></member>
<member><function>number_format</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->