我是编码的初学者,并尝试使用处理进行简单的数据可视化。为了测试,我创建了一个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() { }
我想要计算和显示百分比。 :(
如果有人可以帮我解决这个问题,那将是一个很大的帮助。 提前谢谢了!
干杯, 优素福
答案 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
,因为你想要一个百分比值