Merhaba arkadaşlar ben sql üzerinden bi html sayfasına değişkenler gönderiyorum bu değişkenlerin içerisinde genellikle tutar alanları var ve bu alanların bin ayracı ile ayrılmasını istiyorum nasıl yapabilirim Örnek: 15678 TL=15.678 TL şeklinde çıkmasını istiyorum şimdiden teşekkürler
Bu işi html değil, php ile yapmalısınız. Karakterleri önce Boşluklardan vs temizleyerek tek tek alıp sonra birleştirebilirsiniz. Ya da başka bir sistem geliştirebilirsiniz diziye aktarabilirsiniz vs. Bu sizin Sorguları Mysql e nasıl kaydettiğinizle de alakalı. Detaylı bir yazı hazırlardım size ancak hem siz yeterli bilgi vermemişsiniz hem de o kadar vaktim yok. Onun yerine size php.net den alıntı yapayım, daha önce ihtiyaç duymadım ancak sizin işinizi görebilir :
Php fonksiyonudur : money_format
(PHP 4 >= 4.3.0, PHP 5)
money_format — Bir sayıyı para olarak biçemler
Açıklama
string money_format ( string $biçem , float $sayı ) money_format() işlevi belirtilen sayı'nın para olarak biçemlenmiş sürümünü döndürür. Bu gerçeklenimin bir defada sadece bir sayıyı dönüştürmesi dışında C kütüphanesinin strfmon() işlevinin yaptığını yapar.
Değiştirgeler
biçem Biçem belirtimleri şu dizilimlerden oluşur:
% karakteri
seçimlik seçenekler
seçimlik alan genişlikleri
seçimlik sol taraf hassasiyeti
seçimlik sağ taraf hassasiyeti
gerekli bir dönüşüm karakteri
Seçenekler
Aşağıdaki seçeneklerden bir veya daha fazlası kullanılabilir:
=f = iminden sonra gelen bir tek baytlık karakter sayısal dolgu karakteri olarak kullanılır. Boşluk, öntanımlı dolgu karakteridir.
^ Geçerli yerelde tanımlı binlik ayracını iptal eder.
+ veya ( Pozitif ve negatif sayılar için biçemleme tarzını belirler. + kullanılmışsa + ve - için yereldeki eşdeğeri kullanılır. ( kullanılmışsa negatif miktarlar yaylı ayraç içine alınır. Hiçbir şey belirtilmemişse + öntanımlıdır.
! Çıktı dizgesinde para biriminin bulunmamasını sağlar.
- Belirtilmesi halinde bütün alanlar sola yanaştırılır (sağ tarafa dolgu yapılır). Belirtilmemesi halinde (öntanımlı durum) alanlar sağa yanaştırılır (sol tarafa dolgu yapılır).
Alan genişliği
w En küçük alan genişliğini belirten onluk bir rakam. - seçeneği belirtilmedikçe alan sağa yanaştırılır. Öntanımlı değer sıfırdır (0).
Sol taraf hassasiyeti
#n Ondalık ayracın sol tarafındaki hanelerin azami sayısı (n). Normalde sayıları aynı sütun genişliğinde alt alta dizerken belirtilenden daha az genişliğe sahip sayılarda dolgu yapılması için kullanılır. Burada belirtilenden daha geniş sayılara bu belirtim uygulanmaz.
Hizalamak amacıyla pozitif ve negatif biçemlerin genişliklerini eşitlemek için gerekirse, biçemli çıktıdaki sayıdan önceki veya sonraki herhangi bir karaktere kadar (para birimi veya işaret simgesi) boşluk karakteri doldurulur.
Sağ taraf hassasiyeti
.p Ondalık ayracın sağındaki hane sayısı (p). Eğer p 0 (sıfır) ise, ondalık ayraç ve sağındaki rakamlar yoksayılır. Sağ taraf hassasiyeti olarak hiçbir şey belirtilmemişse geçerli yereldeki kullanılır. Belirtilen genişlikten daha fazla sayıda hane varsa bu haneler biçemleme öncesi yuvarlatılır.
Dönüşüm karakterleri
i Sayı yerelin uluslararası para birimine göre biçemlenir (örn, en_US yereli için: USD 1,234.56).
n Sayı yerelin ulusal para birimine göre biçemlenir (örn, de_DE yereli için: DM1.234,56).
% % karakteri döner.
sayı Biçemlenecek sayı.
Dönen Değerler
Biçemlenmiş dizge döner. Biçemlenen sayının önündeki veya ardındaki karakterler değişmeden döner. sayı bir sayısal değer değilse işlev NULL döndürür ve bir E_WARNING çıktılar.
Notlar
Bilginize:
money_format() işlevi sadece sistem strfmon yeteneklerine sahipse tanımlıdır. Örneğin Windows'ta money_format() kullanılamaz.
Bilginize:
Yerelin LC_MONETARY sınıfı bu işlevin davranışını etkiler. Bu bakımdan bu işlevi kullanmadan önce uygun bir yereli öntanımlı yerel yapmak için setlocale() işlevini kullanın.
Örnekler
Örnek 1 - money_format() örneği
Bu işlevin neler yapabileceğini göstermek için farklı yereller kullanacağız.
<?php
$number = 1234.56;
// Amerikan yereli için uluslararası biçemi kullanalım setlocale(LC_MONETARY, 'en_US'); echo money_format('%i', $number) . "\n"; // USD 1,234.56
// 2 ondalık haneli İtalyan ulusal biçemi setlocale(LC_MONETARY, 'it_IT'); echo money_format('%.2n', $number) . "\n"; // L. 1.234,56
// Negatif sayı kullanımı $number = -1234.5672;
// Negatif sayılar için () ve sol tarafı 10 hanelik // Amerikan ulusal biçemi setlocale(LC_MONETARY, 'en_US'); echo money_format('%(#10n', $number) . "\n"; // ($ 1,234.57)
// Yukarıdaki biçeme ek olarak sağ taraf için 2 hane // ve dolgu karakteri olarak '*' kullanımı; echo money_format('%=*(#10.2n', $number) . "\n"; // ($********1,234.57)
// Sola hizalı, 14 hane genişlikte, sol taraf hassasiyeti olarak 8, // sağ taraf hassasiyeti olarak 2 hanelik, binlik ayracı kullanmaksızın // Alman yereli için uluslararası biçemi kullanarak sayıyı biçemleyelim setlocale(LC_MONETARY, 'de_DE'); echo money_format('%=*^-14#8.2i', 1234.56) . "\n"; // DEM 1234,56****
// Dönüşüm belirtiminin önüne ve ardına bir şeyler ekleyelim setlocale(LC_MONETARY, 'en_GB'); $fmt = 'Son fiyat %i olur (%%10 indirim sonrası)'; echo money_format($fmt, 1234.56) . "\n"; // Son fiyat GBP 1,234.56 olur (%10 indirim sonrası)