Uzun sayıyı basamakları arasına nokta

Arkadaşlar merhaba. Programda uzun bir sayıyı örnek 1013768,48 türk standartlarına göre aralarına nokta nasıl koyabilirim. Yani ekranda 1.013.768,48 olarak nasıl gösterebilirim. Round fonksiyonu ile kuruş hanesini noktadan virgüle çevirdim diğer kısımı yapamıyorum locale fonksiyonunu denedim python 3.9.4 sürüm kullanıyorum kabul etmiyor. teşekkürler

Merhaba,

Başka yöntemleri vardır ama şöyle de yapabilirsiniz:

x = 1e9 / 11
y = f"{x:,.2f}"  # Virgülden sonra 2 hane
print(y)
# Nokta yerine virgül, virgül yerine nokta koy
z = y.replace(",", "!").replace(".", ",").replace("!", ".")
print(z)
2 Beğeni

teşekkürler ancak şöyleki uzun sayılarda bin ayıracı olarak nokta nasıl koyabilirim

Yukarıdaki kod bin ayracı olarak nokta koymuyor mu? Çalıştırdınız mı kodu?

1 Beğeni

çok teşekkür ederim kodu eksik yazmışım şimdi gördüm çok sağolun :sweat_smile:

1 Beğeni
import locale

locale.setlocale(locale.LC_NUMERIC, 'tr_TR.UTF-8')
print(locale.format_string("%f", 1013768.48, grouping=True))
# 1.013.768,480000
4 Beğeni

Eğer geniş çaplı bir proje için değilse (yani farklı diller için farklı biçimler gerekmiyorsa) şu daha basit bir çözüm:

print(f"{1234567890:,}")
# 1,234,567,890

# veya

print("{:,}".format(1234567890))
# 1,234,567,890

Kaynak:
https://python-istihza.yazbel.com/karakter_dizilerini_bicimlendirmek.html#id9

1 Beğeni