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, tu as terminé le calculateur de partage de facture avec tous les calculs. Maintenant, améliore le formatage de la sortie en utilisant sprintf() afin d’afficher les valeurs monétaires avec exactement 2 décimales.

Modifie les lignes de sortie qui affichent les montants en dollars afin d’utiliser sprintf() pour le formatage. La fonction sprintf() te permet de formater les nombres avec un nombre précis de décimales en utilisant %.2f pour 2 décimales.

Mets à 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]

Garde l’arithmétique exactement comme dans la leçon précédente : tip_amount <- bill * tip_percent / 100. Multiplier plutôt par tip_percent / 100 peut entraîner une différence d’un centime une fois le nombre arrondi à deux décimales.

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

Par exemple, si les entrées sont 85.50, 18 et 3, la sortie complète devrait ê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

Remarque : 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

Entraînez-vous par vous-même : Compilateur R en ligne