Hallo SoSci Survey Online Support,
vielen Dank für Ihre Hilfe in meinem Projekt!
Als Ergänzung in meinem Experiment möchte ich Veränderungen in der Gewichtung mittels der Formel ((neues Gewicht- altes Gewicht)/altes Gewicht)*100 anzeigen.
Hier ist der PHP Code, den ich für die Formel verwende:
$change_cash1 = (($weight_cash1-$bargeld1)/$bargeld1)*100;
$weight_cash1 ist das neue Gewicht; $bargeld1 das alte Gewicht.
Debug der einzelnen Elemente ergibt $weight_cash1 = 43.828342618384 (double) und $bargeld1 = 50 (string), also, dass alles funktioniert (meiner Meinung nach).
Als Antwort sollte -12,34% auftreten.
Nur im Fragenbogen erscheint dieser Fehler:
Im PHP-Code trat ein Fehler auf.
Fehler im Fragebogen: Uncaught DivisionByZeroError: Division by zero in /var/www/s2survey/html/lib/s2survey/phpcode/PHPCodeExecutor.php(547) : eval()'d code:46 Stack trace: #0 /var/www/s2survey/html/lib/s2survey/phpcode/PHPCodeExecutor.php(547): eval() #1 /var/www/s2survey/html/lib/s2survey/questionnaire/php/PHPCodeExecutorQnr.php(63): s2survey\phpcode\PHPCodeExecutor->runCode() #2 /var/www/s2survey/html/inc/QuestionnairePHP.php(563): s2survey\questionnaire\php\PHPCodeExecutorQnr->runCode() #3 /var/www/s2survey/html/lib/s2survey/questionnaire/QuestionnaireElement.php(480): QuestionnairePHP->runElement() #4 /var/www/s2survey/html/lib/s2survey/questionnaire/QnrPage.php(1516): s2survey\questionnaire\QuestionnaireElement->run() #5 /var/www/s2survey/html/lib/s2survey/questionnaire/QnrPage.php(1435): s2survey\questionnaire\QnrPage->runContent() #6 /var/www/s2survey/html/inc/InterviewCase.php(1469): s2survey\questionnaire\QnrPage->run() #7 /var/www/s2survey/html/inc/Interviewer.php(655): InterviewCase->createQuestionnairePage() #8 /var/www/s2survey/html/inc/Interviewer.php(824): Interviewer->handleCreate() #9 /var/www/s2survey/html/inc/Interviewer.php(1951): Interviewer->handleInterview() #10 /var/www/s2survey/html/acb/index.php(4): Interviewer::run() #11 {main} thrown
Zeile: 46
PHP-Code
043
044
045
046 $change_cash1 = (($weight_cash1-$bargeld1)/$bargeld1)*100;
047 $change_ak1 = (($weight_ak1-$aktien1)/$aktien1)*100;
048 $change_bo1 = (($weight_bo1-$bonds1)/$bonds1)*100;
049 $change_go1 = (($weight_go1-$gold1)/$gold1)*100;
Wie kann ich den Fehler beheben?
Vielen Dank für die Hilfe!