Menu
Coddy logo textTech

Salida con formato (sprintf)

Parte de la sección Fundamentos del Journey de R de Coddy — lección 37 de 78.

challenge icon

Desafío

Fácil

En la lección anterior, completaste el Bill Split Calculator con todos los cálculos. Ahora, mejora el formato de salida utilizando sprintf() para mostrar los valores monetarios con exactamente 2 decimales.

Modifica las líneas de salida que muestran montos en dólares para usar sprintf() en el formato. La función sprintf() te permite formatear números con un número específico de decimales usando %.2f para 2 decimales.

Actualiza las siguientes líneas de salida para mostrar exactamente 2 decimales en todos los valores monetarios:

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

Usa sprintf() para formatear cada valor monetario. Por ejemplo, sprintf("%.2f", value) formatea un número a 2 decimales.

Por ejemplo, si las entradas son 85.50, 18, y 3, la salida completa debe ser:

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

Nota: El porcentaje de propina y el número de personas deben permanecer como números enteros sin formato decimal.

Pruébalo tú mismo

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

Todas las lecciones de Fundamentos