Uberalles_gr Δημοσ. 10 Απριλίου 2013 Δημοσ. 10 Απριλίου 2013 Καλησπέρα, θέλω να βάζω αριθμούς και να μου το βγάζει ολογράφως. π.χ. 5.632 => πέντε χιλιάδες και εξακόσια τριάντα δύο π.χ. το 125.765 => εκατό είκοσι πέντε χιλιάδες και εφτακόσια είκοσι πέντε Υπάρχει κάτι τέτοιο διαθέσιμο;
dewn735 Δημοσ. 11 Απριλίου 2013 Δημοσ. 11 Απριλίου 2013 Γι' αυτό χάθηκες εσύ ρε, επιταγές κόβεις;! Κοίτα αυτό: http://www.jaygilford.com/php/number-to-text-converting-php-class/ ή αυτό: http://bloople.net/num2text/cnumlib.txt
Uberalles_gr Δημοσ. 11 Απριλίου 2013 Μέλος Δημοσ. 11 Απριλίου 2013 χαχαχαχαχαχ Σε ευχαριστώ για τα links, μόνο που είναι στα αγγλικά. Παρακάτω είναι ο κώδικας για τα Ελληνικά: <?php /** * Takes a (integer/float) number as argument and returns a word representation * of the number in Greek. */ function SayEuro($curAmount){ $bFemale = FALSE; if($curAmount > 999999.99 || $curAmount < -999999.99) { return 'Αδύνατη η μετατροπή αριθμού σε ολογράφως'; } $sResult = ''; if($curAmount < 0){ $sResult = 'Μείον '; $curAmount = abs($curAmount); } $sResult .= SayNumber((int)$curAmount, $bFemale) . 'Ευρώ'; if($curAmount - (int)$curAmount > 0) { $sResult .= ' και ' . SayNumber(100 * ($curAmount - (int)$curAmount), $bFemale) . 'Λεπτά'; } return $sResult; } function SayNumber($curAmount, &$bFemale) { $sResult = ''; $lAmount = round($curAmount, 0); $tmp = 0; // Uniques & decimals. $tmp = intval(substr($lAmount, -2)); if($lAmount == 0) { $sResult = 'Μηδέν '; } elseif($tmp < 20) { $sResult .= ($sResult == '')?'':' ' . ($bFemale)?SayUniqueFemale($tmp):SayUnique($tmp) . ' '; }else{ $sResult .= SayTens($tmp) . ' '; if(intval(substr(strval($tmp), -1)) > 0) { $tmptmp = substr(strval($tmp), 1); $sResult .= ($bFemale)?SayUniqueFemale($tmptmp):SayUnique($tmptmp) . ' '; } } $lAmount -= $tmp; // Hundreds. $tmp = substr($lAmount, -3); if($tmp > 100 || ($tmp == 100 && $sResult != '')) { $sResult = (($bFemale)?SayHundredsFemale($tmp):SayHundreds($tmp)) . ' ' . $sResult; }elseif($tmp == 100 && $sResult == '') { $sResult = 'Εκατό'; } $lAmount -= $tmp; // Thousands. if($lAmount >= 1000) { $sResult = SayThousands($lAmount, $bFemale) . ' ' . $sResult; } $bFemale = FALSE; return $sResult; } function SayUnique($iNumber) { $vardigit = array('Ένα', 'Δύο', 'Τρία', 'Τέσσερα', 'Πέντε', 'Έξι', 'Επτά', 'Οκτώ', 'Εννέα', 'Δέκα', 'Ένδεκα', 'Δώδεκα', 'Δεκατρία', 'Δεκατέσσερα', 'Δεκαπέντε', 'Δεκαέξι', 'Δεκαεφτά', 'Δεκαοχτώ', 'Δεκαεννιά'); if($iNumber > 0){ return $vardigit[$iNumber - 1]; } } function SayTens($iNumber) { $vardigit = array('Δέκα', 'Είκοσι', 'Τριάντα', 'Σαράντα', 'Πενήντα', 'Εξήντα', 'Εβδομήντα', 'Ογδόντα', 'Ενενήντα'); return $vardigit[$iNumber/10 - 1]; } function SayHundreds($iNumber) { $vardigit = array('Εκατόv', 'Διακόσια', 'Τριακόσια', 'Τετρακόσια', 'Πεντακόσια', 'Εξακόσια', 'Επτακόσια', 'Οκτακόσια', 'Εννιακόσια'); return $vardigit[$iNumber/100 - 1]; } function SayThousands($iNumber, &$bFemale) { $bFemale = TRUE; return ($iNumber == 1000)?'Χίλια':(SayNumber($iNumber/1000, $bFemale).' Χιλιάδες'); } function SayUniqueFemale($iNumber) { $vardigit = array('Μια', 'Δύο', 'Τρεις', 'Τέσσερις', 'Πέντε', 'Έξι', 'Επτά', 'Οκτώ', 'Εννέα', 'Δέκα', 'Ένδεκα', 'Δώδεκα', 'Δεκατρείς', 'Δεκατέσσερεις', 'Δεκαπέντε', 'Δεκαέξι', 'Δεκαεφτά', 'Δεκαοχτώ', 'Δεκαεννιά'); if($iNumber > 0) { return $vardigit[$iNumber - 1]; } } function SayHundredsFemale($iNumber) { $vardigit = array('Εκατόv', 'Διακόσιες', 'Τριακόσιες', 'Τετρακόσιες', 'Πεντακόσιες', 'Εξακόσιες', 'Επτακόσιες', 'Οκτακόσιες', 'Εννιακόσιες'); return $vardigit[$iNumber/100 - 1]; } echo SayEuro(482410); ?>
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα