Salida con formato (sprintf)
Parte de la sección Fundamentos del Journey de R de Coddy. Lección 37 de 78.
Desafío
FácilEn la lección anterior, completaste la Calculadora de división de facturas con todos los cálculos. Ahora, mejora el formato de salida usando sprintf() para mostrar los valores monetarios con exactamente 2 decimales.
Modifica las líneas de salida que muestran importes en dólares para usar sprintf() en el formato. La función sprintf() permite dar formato a los números con una cantidad específica 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]
Mantén la aritmética exactamente como en la lección anterior: tip_amount <- bill * tip_percent / 100. Multiplicar por tip_percent / 100 en su lugar puede producir una diferencia de un centavo una vez que el número se redondea a dos decimales.
Usa sprintf() para dar formato a cada valor monetario. Por ejemplo, sprintf("%.2f", value) da formato a un número con 2 decimales.
Por ejemplo, si las entradas son 85.50, 18 y 3, la salida completa debería 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.63Nota: El porcentaje de propina y el número de personas deben mantenerse 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
4Operadores Parte 2
Operadores lógicos (AND, OR)Operadores lógicos Parte 2 (NOT)Resumen - Lógica simpleLógica vectorizada Parte 1Lógica vectorizada Parte 27Calculadora para dividir la cuenta
Mensaje de bienvenidaObtener la entrada del usuario2Variables y tipos de datos
Tipo de dato numéricoTipo de dato enteroTipo de dato de caracteresTipo de dato lógicoComprobación de tipos de datosConvenciones de nomenclaturaValores faltantes: NAResumen - Creación de variables8Bucles
Bucle ForBucle WhileBreakNext (Continue)Repaso - FactorialGeneración de secuencias (seq, :)Bucles anidadosRepaso - Entrada dinámica3Operadores Parte 1
Operadores aritméticosDivisión entera y móduloOperadores de asignaciónRepaso - Matemáticas simplesOperadores de comparación6E/S básica
Imprimir salidaCat para salidaSalida con variablesLectura de entrada con readline()Conceptos básicos de conversión de tiposResumen - Calculadora de edadResumen - Verdadero o falso9Funciones
Declarar una funciónArgumentos de una funciónValores de retornoRepaso - Función SigmaRepaso - Función de validaciónValores de parámetros por defectoPractica por tu cuenta: Compilador de R online