Output Terformat (sprintf)
Termasuk bagian Dasar-Dasar dalam perjalanan R di Coddy. Pelajaran 37 dari 78.
Tantangan
MudahDi pelajaran sebelumnya, kamu menyelesaikan Kalkulator Pembagi Tagihan dengan semua perhitungannya. Sekarang, tingkatkan pemformatan output menggunakan sprintf() untuk menampilkan nilai uang dengan tepat 2 angka desimal.
Ubah baris output yang menampilkan jumlah dalam dolar agar menggunakan sprintf() untuk pemformatan. Fungsi sprintf() memungkinkan kamu memformat angka dengan jumlah angka desimal tertentu menggunakan %.2f untuk 2 angka desimal.
Perbarui baris output berikut agar menampilkan tepat 2 angka desimal untuk semua nilai uang:
Bill: $[bill]Tip amount: $[tip_amount]Total with tip: $[total]Each person pays: $[per_person]
Pertahankan operasi aritmetika persis seperti di pelajaran sebelumnya: tip_amount <- bill * tip_percent / 100. Mengalikan dengan tip_percent / 100 saja dapat menghasilkan selisih satu sen setelah angka dibulatkan menjadi dua angka desimal.
Gunakan sprintf() untuk memformat setiap nilai uang. Contohnya, sprintf("%.2f", value) memformat angka menjadi 2 angka desimal.
Contohnya, jika inputnya adalah 85.50, 18, dan 3, output lengkapnya seharusnya seperti berikut:
Welcome to the Bill Split Calculator!
Let's split your bill fairly.
Bill: $85.50
Tip: 18%
People: 3
Tip amount: $15.39
Total with tip: $100.89
Each person pays: $33.63Catatan: Persentase tip dan jumlah orang harus tetap berupa bilangan bulat tanpa pemformatan desimal.
Coba sendiri
# TODO: Write your code below
# Use cat() to display the welcome message
# Remember to use \n for new lines
cat("Welcome to the Bill Split Calculator!\nLet's split your bill fairly.\n")
# Read user inputs
con <- file("stdin", "r")
bill <- as.numeric(suppressWarnings(readLines(con, n = 1)))
tip_percent <- as.numeric(suppressWarnings(readLines(con, n = 1)))
people <- as.numeric(suppressWarnings(readLines(con, n = 1)))
close(con)
# Display confirmation message
cat("Bill: $", bill, "\n", sep = "")
cat("Tip: ", tip_percent, "%\n", sep = "")
cat("People: ", people, "\n", sep = "")
# Calculate tip amount and total
tip_amount <- bill * tip_percent / 100
total <- bill + tip_amount
# Display calculation results
cat("Tip amount: $", tip_amount, "\n", sep = "")
cat("Total with tip: $", total, "\n", sep = "")
# Calculate per person amount
per_person <- total / people
# Display per person amount
cat("Each person pays: $", per_person, "\n", sep = "")Semua pelajaran di Dasar-Dasar
4Operator Bagian 2
Operator Logika (AND, OR)Operator Logika Bagian 2 (NOT)Rangkuman: Logika SederhanaLogika Tervektorisasi Bagian 1Logika Tervektorisasi Bagian 27Kalkulator Pembagi Tagihan
Pesan Selamat DatangMenerima Input Pengguna10FizzBuzz dengan Sentuhan Unik
Ikhtisar PermainanFungsi FizzBuzz2Variabel dan Tipe Data
Tipe Data NumerikTipe Data IntegerTipe Data KarakterTipe Data LogikaMemeriksa Tipe DataKonvensi PenamaanNilai yang Hilang: NARingkasan: Membuat Variabel8Perulangan
For LoopWhile LoopBreakBerikutnya (Continue)Ringkasan: FaktorialPembuatan Urutan (seq, :)Loop BersarangRingkasan: Input Dinamis3Operator Bagian 1
Operator AritmetikaPembagian Bilangan Bulat dan ModuloOperator PenugasanRangkuman: Matematika SederhanaOperator Perbandingan6Dasar input/output
Cetak outputcat untuk outputOutput dengan variabelMembaca input dengan readline()Dasar konversi tipe dataRingkasan: Kalkulator usiaRingkasan: Benar atau salah9Fungsi
Mendeklarasikan FungsiArgumen FungsiNilai KembalianUlasan: Fungsi SigmaUlasan: Fungsi ValidasiNilai Parameter Default12Melakukan Iterasi pada Urutan
Mengiterasi Elemen VektorMenggunakan seq_along()Mengiterasi Karakter (strsplitFungsi Manipulasi stringLatihan sendiri: Compiler R online