sprintf() ile Biçimlendirilmiş Çıktı
sprintf biçim dizeleriyle ondalık basamakları, dolguyu ve hizalamayı denetleyin.
sprintf() ile Biçimlendirilmiş Çıktı, CoddyKit'te ücretsiz bir R Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, R Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. R Academy kursu toplamda 4 dersten oluşur.
sprintf() Temelleri
sprintf(), yer tutucular içeren bir biçim dizesi kullanarak dizeleri biçimlendirir. C dilindeki printf ile tamamen aynı şekilde çalışır. İlk bağımsız değişken biçim şablonudur; sonraki bağımsız değişkenler yer tutucuları sırayla doldurur.
sprintf('There are %d items', 5)
sprintf('Hello, %s!', 'Alice')
sprintf('Price: %.2f', 9.999)Tam Sayı ve Dize Yer Tutucuları
%d bir tam sayıyı, %s bir dizeyi, %f ise kayan noktalı bir sayıyı biçimlendirir. Her yer tutucu, karşılık gelen bağımsız değişkenle sırayla değiştirilir.
name <- 'Bob'
age <- 34
score <- 88.5
sprintf('%s is %d years old with score %.1f', name, age, score)Ondalık Basamakları Denetleme
%.2f şu anlama gelir: tam olarak 2 ondalık basamakla kayan noktalı sayı olarak biçimlendir. . ile f arasındaki sayı kesinliği denetler. Bu kullanım para birimleri, yüzdeler ve bilimsel değerler için idealdir.
pi_val <- 3.14159265
sprintf('%.0f', pi_val)
sprintf('%.2f', pi_val)
sprintf('%.5f', pi_val)
sprintf('$%.2f', 1234.5)Alan Genişliği ve Dolgu
Biçim harfinden önce gelen sayı, minimum alan genişliğini belirler. Değerler varsayılan olarak sağa hizalanır ve sol tarafları boşluklarla doldurulur. Bu, düz metin raporlarında sütunları hizalamak için kullanışlıdır.
items <- c('Pen', 'Notebook', 'Stapler')
prices <- c(1.5, 4.99, 7.25)
for (i in seq_along(items)) {
cat(sprintf('%-10s $%6.2f\n', items[i], prices[i]))
}- Bayrağıyla Sola Hizalama
Metni alan içinde sola hizalamak için genişlik sayısının önüne - ekleyiniz. Sabit genişlikli metin çıktısında sola yaslanmış sütunlar oluşturmanın standart yolu budur.
# Right-aligned (default)
sprintf('%10s', 'hi')
# Left-aligned
sprintf('%-10s', 'hi')
# Practical: side-by-side
cat(sprintf('%-8s %5d\n', 'Alice', 42))
cat(sprintf('%-8s %5d\n', 'Bob', 7))%e ve %g ile Bilimsel Gösterim
%e bilimsel gösterimi zorunlu kılar (ör. 1.23e+04). %g, %f ile %e arasından otomatik olarak daha kısa olanı seçer; bu, değerlerin büyüklük sıraları geniş bir aralıkta olduğunda kullanışlıdır.
x <- 0.000123456
y <- 123456789
sprintf('%e', x)
sprintf('%e', y)
sprintf('%g', x)
sprintf('%g', y)0 Bayrağıyla Sıfır Dolgusu
Sayıları boşluk yerine baştaki sıfırlarla doldurmak için genişliğin önüne 0 ekleyiniz. Bu yöntem, sıfır dolgulu kimlikler, tarihler ve dosya numaralandırma düzenlerinde yaygın olarak kullanılır.
ids <- c(1, 12, 123, 1234)
sprintf('ID_%05d', ids)
# Date parts
sprintf('%04d-%02d-%02d', 2024, 5, 7)Yüzde Biçimlendirme
Bir oranı yüzde olarak görüntülemek için 100 ile çarpınız ve %.1f%% kullanınız. Çift %%, çıktıya değişmez bir yüzde işareti ekler (tek bir % yer tutucunun başlangıcı olarak yorumlanır).
pass_rate <- 0.8743
sprintf('Pass rate: %.1f%%', pass_rate * 100)
growth <- 0.0523
sprintf('Growth: +%.2f%%', growth * 100)sprintf() Vektörleştirilmiştir
sprintf() işlevine bağımsız değişken olarak bir vektör aktardığınızda, vektör üzerinde otomatik olarak yineleme yapar ve her öğe için bir biçimlendirilmiş dize döndürür. Biçim dizesinin kendisi döngüsel olarak tekrarlanır.
products <- c('Apple', 'Banana', 'Cherry')
prices <- c(0.99, 0.59, 2.49)
sprintf('%-8s costs $%.2f', products, prices)Birden Çok Yer Tutucu, Birden Çok Bağımsız Değişken
Her yer tutucu, sırayla bir bağımsız değişken tüketir. Tek bir biçim dizesinde %d, %f ve %s ifadelerini serbestçe karıştırabilirsiniz; tüm vektör bağımsız değişkenleri en uzun uzunluğa göre tekrarlanır.
months <- c('Jan', 'Feb', 'Mar')
revenue <- c(12500, 9800, 15300)
growth <- c(0.05, -0.12, 0.18)
sprintf('%s: $%d (growth: %+.1f%%)',
months, revenue, growth * 100)sprintf() ve paste(): Hangisi Ne Zaman Kullanılır
Basit birleştirme için paste()/paste0(), kesin sayısal biçimlendirme gerektiğinde (ondalık basamaklar, genişlik, dolgu) ise sprintf() kullanınız. sprintf() daha ayrıntılıdır ancak sayıların görünümü üzerinde tam denetim sağlar.
val <- 1234567.891
# paste: no formatting control
paste('Total:', val)
# sprintf: formatted as currency
sprintf('Total: $%,.2f', val)
# With manual formatting
sprintf('Total: $%15.2f', val)Kısa Kontrol
sprintf() içinde çıktıya değişmez bir yüzde işareti % ekleyen biçim kodu hangisidir?
sprintf() İçin Temel Çıkarımlar
sprintf() için temel çıkarımlar:
%dtam sayı,%fkayan noktalı sayı,%sdize,%ebilimsel gösterim,%gotomatik seçim%.2f= 2 ondalık basamak;%10.2f= 10 genişlik, 2 ondalık basamak%-10s= 10 karakterlik alanda sola hizalama;%05d= 5 basamağa sıfır dolgusu%%= çıktıda değişmez yüzde işaretisprintf()bağımsız değişkenleri üzerinde vektörleştirilmiştir- Sayısal biçimlendirme kesinliği önemli olduğunda
paste()yerinesprintf()kullanmayı tercih ediniz
x <- 0.87654
cat(sprintf('Default f : %f\n', x))
cat(sprintf('2 decimals : %.2f\n', x))
cat(sprintf('Percentage : %.1f%%\n', x * 100))
cat(sprintf('Scientific : %e\n', x))
cat(sprintf('Auto : %g\n', x))Sıkça Sorulan Sorular
“sprintf() ile Biçimlendirilmiş Çıktı” dersi ücretsiz mi?
Evet — “sprintf() ile Biçimlendirilmiş Çıktı” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve R Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. R Academy kursu toplamda 4 dersten oluşur.
“sprintf() ile Biçimlendirilmiş Çıktı” dersinde ne öğreneceğim?
sprintf biçim dizeleriyle ondalık basamakları, dolguyu ve hizalamayı denetleyin. R Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
R Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te R Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“sprintf() ile Biçimlendirilmiş Çıktı” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu R Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her R Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- paste() ve paste0() ile Dizeler Oluşturma
- sprintf() ile Biçimlendirilmiş Çıktı
- cat() ve print() ile Çıktı Görüntüleme
- Dize Dolgusu ve Hizalama