在Processing中将数字数组与另一个数字数组分开

时间:2015-10-12 09:43:52

标签: arrays processing

我是编码的初学者,并尝试使用处理进行简单的数据可视化。为了测试,我创建了一个csv文件,其中列出了三列数据,其中第二列和第三列是数字。我解析了这些列并尝试将第二列数字与第三列分开。但不幸的是,结果显示为零。

代码是

String tag = "dataset.csv"; String [] rawData;

int [] marks = new int[6]; int [] maxMarks = new int[6];

float [] percentage = new float[6];

void setup() {   size(800, 800);   smooth();

  rawData = loadStrings(tag);

  for (int i = 1; i<rawData.length; i++) {     String [] thisRow = split(rawData[i], ",");

    String subject = thisRow[0]; //// name of the subject     marks[i-1] = int(thisRow[1]); //// marks recieved     maxMarks [i-1] = int(thisRow[2]); //// maximum marks     percentage [i-1]    = (marks[i-1]/maxMarks[i-1]);   }   println(marks); //// prints the numbers 80,45,40,25,30,40   println(maxMarks); //// prints the numbers 100,50,50,50,50,50   println(percentage); //// prints 0.0,0.0,0.0,0.0,0.0,0.0, }

void draw() { }

我想要计算和显示百分比。 :(

如果有人可以帮我解决这个问题,那将是一个很大的帮助。 提前谢谢了!

干杯, 优素福

1 个答案:

答案 0 :(得分:1)

您使用的是c ++吗?

哈哈,你需要知道,一个整数除数整数,结果必须是一个整数!

你想获得百分比,这是一个浮动值。

所以只需施放吧!

static_cast<float>(int_value ) [C ++风格]

float(int_value) [c style] 既好又〜

所以,只需改变一下:

percentage [i-1]    = (marks[i-1]/maxMarks[i-1]);

percentage [i-1]    = (float(marks[i-1])/maxMarks[i-1]) * 100 ;

or

percentage [i-1]    = (static_cast<float>(marks[i-1])/maxMarks[i-1]) * 100;

*100,因为你想要一个百分比值