Php de Metni Sayıya Çevirme ?.
Mrb. Php de yüz yirmi üçşeklinde girilen sayıyı 123şekinde yazdırmak mümkünmü acaba ? Acil cvp bekliyorumm !
Php
mümkündür, önce explode ile rakamları ayırıp, sonra bulunduğu basamak değerine göre önüne yüz veya bin eklersin.
Php
kendi projelerimden birinde'de kullandığım bu kodlar işiini görecektir :)
<?php
$birler = array("","bir ","iki ","üç ","dört ","beş ","altı ","yedi ","sekiz ","dokuz ");
$onlar = array("","on ","yirmi ","otuz ","kırk ","elli ","atmış ","yetmiş ","seksen ","doksan ");
$yuzler = array("","yüz ","iki yüz ","üç yüz ","dört yüz ","beş yüz ","altı yüz ","yedi yüz ","sekiz yüz ","dokuz yüz ");
$ek_kelime = array("","","bin ","milyon ","milyar ","trilyon ","katrilyon ","kentilyon ","seksilyon ","septilyon ","oktilyon ");
#############################
function uclukhaneyecevir($rakam)
{
$eksik=(3-strlen($rakam)); for($i=0;$i<$eksik;$i++){$rakam="0".$rakam."";}
return $rakam;
}
##############################
function uclukyazdir($rakam)
{
global $birler, $onlar, $yuzler;
$birinci=substr($rakam,2,1);
$ikinci=substr($rakam,1,1);
$ucuncu=substr($rakam,0,1);
$sonhali="$yuzler[$ucuncu] $onlar[$ikinci] $birler[$birinci]";
return $sonhali;
}
#############################
function rakam2yazi($sayi)
{
global $birler, $onlar, $yuzler, $ek_kelime;
$ayirsana=explode(",",number_format($sayi));
$say=count($ayirsana);
//echo number_format($sayi); echo " > ";
for($i=0;$i<$say;$i++)
{
echo uclukyazdir(uclukhaneyecevir($ayirsana[$i])); echo $ek_kelime[$say-$i];
}
}
////
echo rakam2yazi("2120345678902123");
?>
Arkadaşlar cevaplar için teşekkürler Fakat yanlış anladınız sanırım. Bu kodlar sayıyı metne çeviriyor. Benim dediğim tam tersi. Metni sayıya çevirme . Örneğin yüz elli beş şeklinde yazılan değeri 155 şeklinde çevirilmesi mümkün mü ??
Php
arkadaşım sonuçta mantık aynı bu yolu izleyerek bu kodlarla bir çok şey yapabilirsin yeterki mantığı anla ve mantıklı bir yol izle