2010-07-15 28 views
6

tôi có mã Chuck này:ints Đọc từ một tập tin trong Chuck

"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; 

Các tập tin văn bản chứa:

10 
12 

(nó được cập nhật với python mỗi phút)

Tôi muốn chuyển đổi vận tốc và hướng sang int (hoặc float tốt hơn).

Tôi làm cách nào để thực hiện việc này?

Trả lời

6

Sử dụng atoiatof trong thư viện Std. Hãy nói rằng bạn muốn dịch 0-127 (MIDI vận tốc) đến một phao giữa 0 và 1.0 (thuận tiện hơn nhiều cho máy phát điện đơn vị):

Std.atoi(fio.readLine()) => int midi_velocity; 
midi_velocity/127.0 => float velocity; 
<<<velocity>>>; 

nên in 0.078740 :(float) cho một đầu vào của 10

Hoặc nếu bạn muốn đi thẳng đến phao:

Std.atof(fio.readLine()) => float velocity; 
<<<velocity>>>; 

in 10.000000 :(float).

Các vấn đề liên quan