Leyendo ints de un archivo en Chuck
Pregunta
Tengo este código de mandril:
"examples/vento.txt" => string filename;
FileIO fio;
// open a file
fio.open(filename, FileIO.READ);
// ensure it's ok
if(!fio.good()) {
cherr <= "can't open file: " <= filename <= " for reading..." <= IO.newline();
me.exit();
}
fio.readLine() => string velocity;
fio.readLine() => string direction;
El archivo de texto contiene:
10
12
(está actualizado con Python cada minuto)
Quiero convertir la velocidad y la dirección a int (o mejor flotar).
¿Cómo puedo hacer esto?
Solución
Use atoi
y atof
en la biblioteca Std
.Digamos que desea traducir desde 0-127 (Velocity MIDI) a un flotador entre 0 y 1.0 (mucho más conveniente para los generadores de la unidad):
Std.atoi(fio.readLine()) => int midi_velocity;
midi_velocity/127.0 => float velocity;
<<< velocity >>>;
debe imprimir 0.078740 :(float)
para una entrada de 10.
o si desea simplemente ir directamente a flotar:
Std.atof(fio.readLine()) => float velocity;
<<< velocity >>>;
que imprime 10.000000 :(float)
.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow