如何在Prestashop发票中添加单词总价?

时间:2016-11-17 20:55:01

标签: php html prestashop

我有一个将数字转换为单词的PHP代码。我如何将其实现到Prestashop 1.6.0.14发票?

我试着写这段代码:

<?php
$num =  '123';
 list($p1, $p2) = explode('.', str_replace(',','.',$num));
?>

<table style="width: 100%;">
    <tr>
        <td>Amout in words: <?php echo ucfirst(words( $p1 )) . ' eur ' . ' and '.$p2 . ' ct' ; ?></td>
    </tr>
</table>

1 个答案:

答案 0 :(得分:0)

参考以下代码

<?php

$number = 1052;
$no = round($number);
$point = round($number - $no, 2) * 100;
$hundred = null;
$digits_1 = strlen($no);
$i = 0;
$str = array();
$words = array('0' => '', '1' => 'One', '2' => 'Two',
               '3' => 'Three', '4' => 'Four', '5' => 'Five', '6' => 'Six',
               '7' => 'Seven', '8' => 'Eight', '9' => 'Nine',
               '10' => 'Ten', '11' => 'Eleven', '12' => 'Twelve',
               '13' => 'Thirteen', '14' => 'Fourteen',
               '15' => 'Fifteen', '16' => 'Sixteen', '17' => 'Seventeen',
               '18' => 'Eighteen', '19' =>'Nineteen', '20' => 'Twenty',
               '30' => 'Thirty', '40' => 'Forty', '50' => 'Fifty',
               '60' => 'Sixty', '70' => 'Seventy',
               '80' => 'Eighty', '90' => 'Ninety');
$digits = array('', 'Hundred', 'Thousand', 'Lakh', 'Crore');
while ($i < $digits_1) {
    $divider = ($i == 2) ? 10 : 100;
    $number = floor($no % $divider);
    $no = floor($no / $divider);
    $i += ($divider == 10) ? 1 : 2;
    if ($number) {
        $plural = (($counter = count($str)) && $number > 9) ? 's' : null;
        $hundred = ($counter == 1 && $str[0]) ? ' and ' : null;
        $str [] = ($number < 21) ? $words[$number] .
            " " . $digits[$counter] . $plural . " " . $hundred
            :
        $words[floor($number / 10) * 10] . " " . $words[$number % 10] . " " . $digits[$counter] . $plural . " " . $hundred;
    } else $str[] = null;
}
$str = array_reverse($str);
$rupees = implode('', $str);
$points = ($point) ? "" . $words[$point / 10] . " " .   $words[$point = $point % 10] : '';
if($points!="")
    echo $rupees . "rupees  and " . $points . " paise ."; 
else
    echo $rupees . "rupees .";
?>