Welcome Guest, Not a member yet? Register   Sign In
SOLVED : unable to convert number to words
#1

[eluser]Ram2810[/eluser]
Error : Fatal error: Call to undefined function convert_number() in C:\xampp\htdocs\billclerk\application\libraries\numbertowords.php on line 35

The "numbertowords" library is as follows:
Code:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Numbertowords {

    function convert_number($number)
{
    if (($number < 0) || ($number > 999999999))
    {
    throw new Exception("Number is out of range");
    }

    $Gn = floor($number / 1000000);  /* Millions (giga) */
    $number -= $Gn * 1000000;
    $kn = floor($number / 1000);     /* Thousands (kilo) */
    $number -= $kn * 1000;
    $Hn = floor($number / 100);      /* Hundreds (hecto) */
    $number -= $Hn * 100;
    $Dn = floor($number / 10);       /* Tens (deca) */
    $n = $number % 10;               /* Ones */

    $res = "";

    if ($Gn)
    {
        $res .= convert_number($Gn) . " Million";
    }

    if ($kn)
    {
        $res .= (empty($res) ? "" : " ") .convert_number($kn) . " Thousand";
    }

    if ($Hn)
    {
        $res .= (empty($res) ? "" : " ") .convert_number($Hn) . " Hundred";
    }

    $ones = array("", "One", "Two", "Three", "Four", "Five", "Six",
        "Seven", "Eight", "Nine", "Ten", "Eleven", "Twelve", "Thirteen",
        "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eightteen",
        "Nineteen");
    $tens = array("", "", "Twenty", "Thirty", "Fourty", "Fifty", "Sixty",
        "Seventy", "Eigthy", "Ninety");

    if ($Dn || $n)
    {
        if (!empty($res))
        {
            $res .= " and ";
        }

        if ($Dn < 2)
        {
            $res .= $ones[$Dn * 10 + $n];
        }
        else
        {
            $res .= $tens[$Dn];

            if ($n)
            {
                $res .= "-" . $ones[$n];
            }
        }
    }

    if (empty($res))
    {
        $res = "zero";
    }

    return $res;
}
}

?&gt;

I autoloaded the library.


The code where i used the library is :

Code:
&lt;?php echo $this->numbertowords->convert_number($item->amount);?&gt;

Pls tell me where i am doing wrong .
Pls guide me
#2

[eluser]smilie[/eluser]
Try using (everywhere in that controller):

instead of:
$res .= convert_number($Gn) . " Million";

try:

$res .= $this->convert_number($Gn) . " Million";

Cheers,
Smilie
#3

[eluser]Ram2810[/eluser]
Thank you it worked with your changes




Theme © iAndrew 2016 - Forum software by © MyBB