Tom*_*ond 2 ruby-on-rails axlsx
我不能为我的生活弄清楚为什么划分不适用于这个Aslsx出口.我可以添加,减去,复数和模数除法很好,但是当我尝试做answer_number / question_number它总是出现为0.任何想法我做错了什么?
工作吐出answer_number时间question_number:
@survey.questions.each do |question|
question_number = Choice.where(question_id: question.id).length
question.answers.each do |answer|
answer_number = Choice.where(answer_id: answer.id).length
sheet.add_row [answer_number, question_number, answer_number * question_number]
end
end
Run Code Online (Sandbox Code Playgroud)
不起作用 - 吐出0:
@survey.questions.each do |question|
question_number = Choice.where(question_id: question.id).length
question.answers.each do |answer|
answer_number = Choice.where(answer_id: answer.id).length
sheet.add_row [answer_number, question_number, answer_number / question_number]
end
end
Run Code Online (Sandbox Code Playgroud)
我也认为,当数字小于0时,它可能正在进行某种舍入,但这似乎也不起作用(最终目标是获得每个答案的百分比):
@survey.questions.each do |question|
question_number = Choice.where(question_id: question.id).length
question.answers.each do |answer|
answer_number = Choice.where(answer_id: answer.id).length
sheet.add_row [answer_number, question_number, answer_number / question_number * 100]
end
end
Run Code Online (Sandbox Code Playgroud)
由于两个数字都是整数,因此ruby正在进行整数除法,忽略剩余的分数,我猜你所有的分区都返回0到1之间的数字,所以答案总是为0,以避免两个数字中的一个应该是像@mtm建议一样浮动,to_f向任一数字添加一个函数
| 归档时间: |
|
| 查看次数: |
802 次 |
| 最近记录: |