コード例 #1
0
function num2str($L)
{
    global $_1_2, $_1_19, $des, $hang, $namerub, $nametho, $namemil, $namemrd, $kopeek;
    $s = " ";
    $s1 = " ";
    $s2 = " ";
    #$kop=intval( ( $L*100 - intval( $L )*100 ));
    $kop = substr(sprintf("%.2f", $L), -2, 2);
    $L = intval($L);
    if ($L >= 1000000000) {
        $many = 0;
        semantic(intval($L / 1000000000), $s1, $many, 3);
        $s .= $s1 . $namemrd[$many];
        $L %= 1000000000;
    }
    if ($L >= 1000000) {
        $many = 0;
        semantic(intval($L / 1000000), $s1, $many, 2);
        $s .= $s1 . $namemil[$many];
        $L %= 1000000;
        if ($L == 0) {
            $s .= "рублей. ";
        }
    }
    if ($L >= 1000) {
        $many = 0;
        semantic(intval($L / 1000), $s1, $many, 1);
        $s .= $s1 . $nametho[$many];
        $L %= 1000;
        if ($L == 0) {
            $s .= "рублей. ";
        }
    }
    if ($L != 0) {
        $many = 0;
        semantic($L, $s1, $many, 0);
        #$s.=$s1.$namerub[$many];
        $s .= $s1 . "рублей. ";
    }
    #if($L == 0){
    if ($many == 0) {
        $many = 0;
        $s .= "нуль рублей. ";
    }
    if ($kop > 0) {
        $many = 0;
        #semantic($kop,$s1,$many,1);
        #$s.=$s1.$kopeek[$many];
        #$s.=$s1."КОП ";
        $s .= $kop . " копеек. ";
    } else {
        $s .= " 00 копеек.";
    }
    return $s;
}
コード例 #2
0
ファイル: num_to_word.php プロジェクト: kapai69/fl-ru-damp
/**
 * Форматирует число в цену в рублях и копейках.
 * 
 * @param float $L число
 *
 * @return string
 */
function num2strEx($L)
{
    include_once dirname(__FILE__) . '/sbr.php';
    global $_1_2, $_1_19, $des, $hang, $namerub, $nametho, $namemil, $namemrd, $kopeek;
    $L = round($L, 2);
    $source = $L;
    $kop = 100 * (string) round($L - (int) $L, 2);
    $L = intval($L);
    $s = ' ';
    $s1 = ' ';
    $s2 = ' ';
    if ($L == 0) {
        $s .= 'ноль рублей Российской Федерации ';
    }
    if ($L >= 1000000000) {
        $many = 0;
        semantic(intval($L / 1000000000), $s1, $many, 3);
        $s .= $s1 . $namemrd[$many];
        $L %= 1000000000;
    }
    if ($L >= 1000000) {
        $many = 0;
        semantic(intval($L / 1000000), $s1, $many, 2);
        $s .= $s1 . $namemil[$many];
        $L %= 1000000;
        if ($L == 0) {
            $s = rtrim($s) . ' рублей Российской Федерации ';
        }
    }
    if ($L >= 1000) {
        $many = 0;
        semantic(intval($L / 1000), $s1, $many, 1);
        $s .= $s1 . $nametho[$many];
        $L %= 1000;
        if ($L == 0) {
            $s = rtrim($s) . ' рублей Российской Федерации ';
        }
    }
    if ($L != 0) {
        $many = 0;
        semantic($L, $s1, $many, 0);
        $s .= rtrim($s1) . ' ' . trim($namerub[$many]) . ' ';
    }
    if ($kop > 0) {
        $s .= str_pad($kop, 2, '0', STR_PAD_LEFT) . ending($kop, ' копейка', ' копейки', ' копеек');
    } else {
        $s .= '00 копеек';
    }
    setlocale(LC_ALL, 'ru_RU.CP1251');
    $s = ucfirst(trim($s));
    setlocale(LC_ALL, 'en_US.UTF-8');
    return trim(sbr_meta::view_cost((double) $source, null, false, ',', ' ') . ' (' . trim($s) . ')');
}
コード例 #3
0
function smarty_function_number_as_text($params, &$smarty)
{
    if (!isset($params['value'])) {
        return '';
    }
    $value = $params['value'];
    $first_upper = true;
    $L = $value;
    $_1_2[1] = "одна ";
    $_1_2[2] = "две ";
    $_1_19[1] = "один ";
    $_1_19[2] = "два ";
    $_1_19[3] = "три ";
    $_1_19[4] = "четыре ";
    $_1_19[5] = "пять ";
    $_1_19[6] = "шесть ";
    $_1_19[7] = "семь ";
    $_1_19[8] = "восемь ";
    $_1_19[9] = "девять ";
    $_1_19[10] = "десять ";
    $_1_19[11] = "одиннацать ";
    $_1_19[12] = "двенадцать ";
    $_1_19[13] = "тринадцать ";
    $_1_19[14] = "четырнадцать ";
    $_1_19[15] = "пятнадцать ";
    $_1_19[16] = "шестнадцать ";
    $_1_19[17] = "семнадцать ";
    $_1_19[18] = "восемнадцать ";
    $_1_19[19] = "девятнадцать ";
    $des[2] = "двадцать ";
    $des[3] = "тридцать ";
    $des[4] = "сорок ";
    $des[5] = "пятьдесят ";
    $des[6] = "шестьдесят ";
    $des[7] = "семьдесят ";
    $des[8] = "восемдесят ";
    $des[9] = "девяносто ";
    $hang[1] = "сто ";
    $hang[2] = "двести ";
    $hang[3] = "триста ";
    $hang[4] = "четыреста ";
    $hang[5] = "пятьсот ";
    $hang[6] = "шестьсот ";
    $hang[7] = "семьсот ";
    $hang[8] = "восемьсот ";
    $hang[9] = "девятьсот ";
    $namerub[1] = "рубль ";
    $namerub[2] = "рубля ";
    $namerub[3] = "рублей ";
    $nametho[1] = "тысяча ";
    $nametho[2] = "тысячи ";
    $nametho[3] = "тысяч ";
    $namemil[1] = "миллион ";
    $namemil[2] = "миллиона ";
    $namemil[3] = "миллионов ";
    $namemrd[1] = "миллиард ";
    $namemrd[2] = "миллиарда ";
    $namemrd[3] = "миллиардов ";
    $kopeek[1] = "копейка ";
    $kopeek[2] = "копейки ";
    $kopeek[3] = "копеек ";
    $s = " ";
    $s1 = " ";
    //считаем количество копеек, т.е. дробной части числа
    $kop = intval($L * 100 - intval($L) * 100);
    //отбрасываем дробную часть
    $L = intval($L);
    if ($L >= 1000000000) {
        $many = 0;
        semantic(intval($L / 1000000000), $s1, $many, 3);
        $s .= $s1 . $namemrd[$many];
        $L %= 1000000000;
    }
    if ($L >= 1000000) {
        $many = 0;
        semantic(intval($L / 1000000), $s1, $many, 2);
        $s .= $s1 . $namemil[$many];
        $L %= 1000000;
        //аналогично если ровно сколько-то миллионов, то хватит считать
    }
    if ($L >= 1000) {
        $many = 0;
        semantic(intval($L / 1000), $s1, $many, 1);
        $s .= $s1 . $nametho[$many];
        $L %= 1000;
    }
    if ($L != 0) {
        $many = 0;
        semantic($L, $s1, $many, 0);
        $s .= $s1;
    }
    $result = trim($s);
    if (isset($params['assign'])) {
        $smarty->assign($params['assign'], $result);
        $result = '';
    }
    return $result;
}
コード例 #4
0
ファイル: others_helper.php プロジェクト: vsanth/travelcrm
function num2str($L)
{
    // ---------------------------------------------------------
    $_1_2[1] = "одна ";
    $_1_2[2] = "двi ";
    $_1_19[1] = "один ";
    $_1_19[2] = "два ";
    $_1_19[3] = "три ";
    $_1_19[4] = "чотири ";
    $_1_19[5] = "п'ять ";
    $_1_19[6] = "шiсть ";
    $_1_19[7] = "сiм ";
    $_1_19[8] = "вiсiм ";
    $_1_19[9] = "дев'ять ";
    $_1_19[10] = "десять ";
    $_1_19[11] = "одинадцять ";
    $_1_19[12] = "дванадцять ";
    $_1_19[13] = "тринадцять ";
    $_1_19[14] = "чотирнадцять ";
    $_1_19[15] = "п'ятнадцять ";
    $_1_19[16] = "шiстнадцять ";
    $_1_19[17] = "сiмнадцять ";
    $_1_19[18] = "вiсiмнадцять ";
    $_1_19[19] = "дев'ятнадцять ";
    $des[2] = "двадцать ";
    $des[3] = "тридцять ";
    $des[4] = "сорок ";
    $des[5] = "пятьдесят ";
    $des[6] = "шiстдесят ";
    $des[7] = "сiмдесят ";
    $des[8] = "вiсiмдесят ";
    $des[9] = "дев'яносто ";
    $hang[1] = "сто ";
    $hang[2] = "двiстi ";
    $hang[3] = "триста ";
    $hang[4] = "чотириста ";
    $hang[5] = "пятьсот ";
    $hang[6] = "шiстьсот ";
    $hang[7] = "сiмсот ";
    $hang[8] = "вiсiмсот ";
    $hang[9] = "девятьсот ";
    $namerub[1] = "гривня ";
    $namerub[2] = "гривнi ";
    $namerub[3] = "гривнiв ";
    $nametho[1] = "тисяча ";
    $nametho[2] = "тисячi ";
    $nametho[3] = "тисяч ";
    $namemil[1] = "мiльйон ";
    $namemil[2] = "мiльйона ";
    $namemil[3] = "мiльйонiв ";
    $namemrd[1] = "мiльярд ";
    $namemrd[2] = "мiльярда ";
    $namemrd[3] = "мiльярдiв ";
    $kopeek[1] = "копiйка ";
    $kopeek[2] = "копiйки ";
    $kopeek[3] = "копiйок ";
    // ---------------------------------------------------------
    $s = " ";
    $s1 = " ";
    //считаем количество копеек, т.е. дробной части числа
    $kop = intval($L * 100 - intval($L) * 100);
    //отбрасываем дробную часть
    $L = intval($L);
    if ($L >= 1000000000) {
        $many = 0;
        semantic(intval($L / 1000000000), $s1, $many, 3);
        $s .= $s1 . $namemrd[$many];
        $L %= 1000000000;
        //если ровно сколько-то миллиардов, то хватит считать
        if ($L == 0) {
            $s .= "гривнiв ";
        }
    }
    if ($L >= 1000000) {
        $many = 0;
        semantic(intval($L / 1000000), $s1, $many, 2);
        $s .= $s1 . $namemil[$many];
        $L %= 1000000;
        //аналогично если ровно сколько-то миллионов, то хватит считать
        if ($L == 0) {
            $s .= "гривнiв ";
        }
    }
    if ($L >= 1000) {
        $many = 0;
        semantic(intval($L / 1000), $s1, $many, 1);
        $s .= $s1 . $nametho[$many];
        $L %= 1000;
        if ($L == 0) {
            $s .= "гривнiв ";
        }
    }
    if ($L != 0) {
        $many = 0;
        semantic($L, $s1, $many, 0);
        $s .= $s1 . $namerub[$many];
    }
    //если есть копейки, то добавим их в итоговую строку
    if ($kop > 0) {
        $many = 0;
        semantic($kop, $s1, $many, 1);
        $s .= $s1 . $kopeek[$many];
    } else {
        $s .= " 00 копiйок";
    }
    return $s;
}