예제 #1
0
파일: example.php 프로젝트: Kupla/finum
<?php

include 'finum.php';
//we will need finum lib
$finum = new finum();
//intializing it
?>
<!DOCTYPE html>
<html>
    <head>
        <title>finum example page</title>
        <meta charset="utf-8">
        <style>
            h1 {margin:0; padding-bottom:6px; margin-bottom:35px; border-bottom:1px solid #ccc;}
            div.container {
                width:50%;
                margin-left:auto;
                margin-right:auto;
                -moz-border-radius:3px;
                -webkit-border-radius:3px;
                border-radius:3px;
                border:1px solid #ccc;
                padding:24px;
                font-family: 'Arial';
            }
            pre {
             
                padding:14px;
                color:#555555;
                margin:0;
                
예제 #2
0
파일: finum.php 프로젝트: Kupla/finum
 function fi($input)
 {
     $error = 'Oh no! something went wrong :/';
     // put here your custom error
     $finum = new finum();
     //intializing finum inside function, because we will need in this function
     $nums = array('nolla', 'yksi', 'kaksi', 'kolme', 'neljä', 'viisi', 'kuusi', 'seitsemän', 'kahdeksan', 'yhdeksän', 'kymmenen');
     // 0-10
     $numwords = array('toista', 'kymmentä', 'sata', 'sataa', 'tuhat', 'tuhatta');
     $input = ltrim(strval($input), '0');
     $intput = intval($input);
     $len = strlen($input);
     switch ($len) {
         case 1:
             // * 1 (1 digit)
             return $nums[$intput];
             break;
         case 2:
             // * 10 (2 digits)
             if ($input == '10') {
                 return $nums[10];
             } else {
                 if ($input[0] == '1') {
                     return $nums[intval($input[1])] . $numwords[0];
                 } else {
                     if ($input[1] == '0') {
                         return $nums[intval($input[0])] . $numwords[1];
                         //eg. 40 = neljäkymmentä
                     } else {
                         return $nums[intval($input[0])] . $numwords[1] . ' ' . $nums[intval($input[1])];
                         //eg. 45 = neljäkymmentä viisi
                     }
                 }
             }
             break;
         case 3:
             // * 100 (3 digits)
             if ($input[1] . $input[2] == '00') {
                 if ($input[0] == '1') {
                     // 100
                     return $numwords[2];
                 } else {
                     // ?00
                     return $nums[intval($input[0])] . $numwords[3];
                 }
             }
             if ($input[0] == '1') {
                 if ($input[2] == '0') {
                     //1?0
                     return $numwords[2] . ' ' . $nums[intval($input[1])] . $numwords[1];
                 } elseif ($input[1] == '1') {
                     //11?
                     return $numwords[2] . ' ' . $nums[intval($input[2])] . $numwords[0];
                 } elseif ($input[1] == '0') {
                     //10?
                     return $numwords[2] . ' ' . $nums[intval($input[2])];
                 } else {
                     return $numwords[2] . ' ' . $nums[intval($input[1])] . $numwords[1] . $nums[intval($input[2])];
                 }
             } else {
                 //??? not 1??
                 if ($input[2] == '0') {
                     //fix for "kahdeksansataa viisikymmentäNOLLA"- bug
                     return $nums[intval($input[0])] . $numwords[3] . ' ' . $finum->fi($input[1] . $input[2]);
                     //i found better solution; just let it run again
                 } else {
                     if ($input[1] == '0') {
                         return $nums[intval($input[0])] . $numwords[3] . ' ' . $finum->fi($input[2]);
                     } else {
                         return $nums[intval($input[0])] . $numwords[3] . ' ' . $finum->fi($input[1] . $input[2]);
                     }
                 }
             }
             break;
         default:
             return $error;
             return 'Sorry, but, only 3 digits are supported at this time :(  (given ' . $len . ')';
     }
 }