Menu
Coddy logo textTech

Sortie formatée (sprintf)

Fait partie de la section Fondamentaux du Journey R de Coddy — leçon 37 sur 78.

challenge icon

Défi

Facile

Dans la leçon précédente, vous avez terminé le calculateur de partage de facture avec tous les calculs. Maintenant, améliorez le formatage de la sortie en utilisant sprintf() pour afficher les valeurs monétaires avec exactement 2 décimales.

Modifiez les lignes de sortie qui affichent des montants en dollars pour utiliser sprintf() pour le formatage. La fonction sprintf() vous permet de formater des nombres avec un nombre spécifique de décimales en utilisant %.2f pour 2 décimales.

Mettez à jour les lignes de sortie suivantes pour afficher exactement 2 décimales pour toutes les valeurs monétaires :

  • Bill: $[bill]
  • Tip amount: $[tip_amount]
  • Total with tip: $[total]
  • Each person pays: $[per_person]

Utilisez sprintf() pour formater chaque valeur monétaire. Par exemple, sprintf("%.2f", value) formate un nombre à 2 décimales.

Par exemple, si les entrées sont 85.50, 18, et 3, la sortie complète doit être :

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.63

Note : Le pourcentage de pourboire et le nombre de personnes doivent rester des nombres entiers sans formatage décimal.

Essayez vous-même

# 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 = "")

Toutes les leçons de Fondamentaux