es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo hacer que “i” en un bucle “for” sea de tipo “double” en lugar de “integer”? En otras palabras, ¿cómo puedo hacer un bucle “for” de “doubles” en lugar de enteros?

Este era mi bucle for original

Muestra el bucle for que escribí después de la imagen y la cola de la impresión como 326.1, 327.1, 328.1, 329.1.

El bucle for era:

a <- 0
for(i in 0:360) {
a[i] <- (i + 0.01)
print (a[i])
}

Pero nada me ayudaría a imprimirlo para obtener 0, 0.01, 0.02, …, 0.09, 1.00, 1.01 … 360 en lugar de 1.01, 2.01, 3.01, … 360.1.

He intentado

a <- 0
for(i in 0:360) {
a[i] <- as.numeric(i + 0.01)
print (a[i])
}

Pero todavía obtuve el mismo vector, 1.01, 2.01, 3.01, … 360.1.

También intenté diferentes funciones de impresión derivadas de sprintf, pero estas solo influyeron en la cantidad de cifras significativas en la salida.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Finalmente, obtuve la salida deseada utilizando el siguiente bucle:

    a <- 0
    for(i in 0:360) {
      a[i] <- (i + 0.01) 
      print (round(a[i],2))
    }
    

    La salida fue 0.00, 0.01, 0.02, ..., 0.09, 1.00, 1.01...360.00.

Comments are closed.