Separador de miles con printf

2022-08-06 21:38:32

¿Cómo se hace un separador de mil (como una coma) en un printf?

ejemplo:

printf("<td class='number'>%d</td>", $totals['Sold']); //need thousand separated 
printf("<td class='number'>%.2f</td>", $totals['Fees']); //need thousand separated

ACTUALIZAR esto es lo que tenía originalmente:

foreach(array_keys($totals) as $key){
        if(is_numeric($totals[$key])){
            $totals[$key] = number_format($totals[$key],2);
        }
    }

    echo "</tbody>
        <tfoot><tr>";
    echo "<td class='text' colspan='4'>Totals:</td>";
    echo "<td class='number'>{$totals['Bought']}</td>";
    echo "<td class='number'>{$totals['Sold']}</td>";
    echo "<td class='number'>{$totals['Fees']}</td>";
    echo "<td class='number'>{$totals['Realized']}</td>";
    echo "<td class='number'>{$totals['Net']}</td>";
    echo "<td colspan='3'>{$totals['EOD Price']}</td>";
    echo "</tr>
        </tfoot>";

y quiero que sea algo como:

echo "</tbody>
        <tfoot><tr>";
    echo "<td class='text' colspan='3'>Totals:</td>";
    printf("<td class='number'>%d</td>", $totals['Bought']) ;
    printf("<td class='number'>%d</td>", $totals['Sold']) ;
    printf("<td class='number'>%.2f</td>", $totals['Fees']) ;
    printf("<td class='number'>%.2f</td>", $totals['Realized']) ;
    printf("<td class='number'>%.2f</td>", $totals['Net']) ;
    printf("<td colspan='3'>%.2f</td>", $totals['EOD Price']) ;
    echo "</tr>
        </tfoot>";

Pero necesito las comas

- Naftali

php
Source
zh
Responder


6
  • Haz que tu código sea bonito y no lo repitas todo. Simplemente salga del contexto de PHP para hacerlo, y luego, en lugar de printf, simplemente haga eco usando number_format:

    </tbody>
    <tfoot>
        <tr>
            <td ...>Totals</td>
            <td ...><?php echo number_format($totals['Bought'], 0); ?></td>
            <td ...><?php echo number_format($totals['Sold'], 0); ?></td>
            <td ...><?php echo number_format($totals['Fees'], 2); ?></td>
            ...
        </tr>
    </tfoot>