הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   בעיה בחישוב התוצאות לסקר (https://hosts.co.il/forums/showthread.php?t=46584)

X-T 31-05-07 14:34

בעיה בחישוב התוצאות לסקר
 
שלום, אני בשלב הסופי של הצגת הנתונים של הסקר, נשאר לי להציג את התוצאות באחוזים, ואני רוצה להציג בצורה כזה:
15.2%

אז עשיתי
PHP קוד:

$op1x $vote1 $avg 100;  
$op2x $vote2 $avg 100;  
$op3x $vote3 $avg 100;  
$op4x $vote4 $avg 100
$op1x substr($op1x04);
$op2x substr($op2x04);
$op3x substr($op3x04);
$op4x substr($op4x04); 

וזה בכל מצב מוציא או יותר או פחות במאה בכמה מספר עשרוניים...
באיזו דרך אפשר לעשות זאת?

The Crow 31-05-07 14:46

תנסה להשתמש ב round או ceil

http://il.php.net/round
http://il.php.net/ceil

X-T 31-05-07 14:52

השימוש עם 2 הפונקציות הציג לי תוצאות זהות ותשובות שגויות...
http://img53.imageshack.us/img53/429...5131501wp8.jpg

חישוב מהיר: 65+15+15+6=101

Derey22 31-05-07 15:23

אם זכור לי טוב ככה זה אחוזים:
PHP קוד:

$avg*$vote1 /100 


X-T 31-05-07 15:40

ציטוט:

נכתב במקור על ידי Derey22 (פרסם 489453)
אם זכור לי טוב ככה זה אחוזים:
PHP קוד:

$avg*$vote1 /100 


זה אותו דבר =\

בניה 31-05-07 16:44

תעשה floor() לכולם.

X-T 31-05-07 17:11

גם לא טוב.
האם אתם מצפים לפתיחה?
כן
63%
לא
14%
הא?
16%
סתם משעמם
5%
סה"כ הצבעות: 55

חישוב מהיר: 63+14+16+5=98

דרך אגב, זה יוצר בעיה כאשר לאפשרות כלשהי יש 0 הצבעות

Warning: Division by zero

Derey22 31-05-07 17:40

קח 3 תוצאות ותחסר אותם מה100

Eran-s 31-05-07 17:43

PHP קוד:

round($x1); 

בשביל שלא תינתן שגיאה של חילוק באפס אתה צריך לבדוק אם מספר ההצבעות אינו אפס לפני ביצוע החילוק והכפל

X-T 31-05-07 18:38

לא ממש מסתדר, יש לך רעיון איך לעזור לי?
הקוד שלי הוא כזה
PHP קוד:

$op1 $vote1 $avg 100 +10;  
$op2 $vote2 $avg 100 +10;  
$op3 $vote3 $avg 100 +10;  
$op4 $vote4 $avg 100 +10

$op1x $vote1 $avg 100;  
$op2x $vote2 $avg 100;  
$op3x $vote3 $avg 100;  
$op4x $vote4 $avg 100
$op1x round($op1x1);
$op2x round($op2x1);
$op3x round($op3x1);
$op4x round($op4x1); 

ניסיתי מספר דרכים ולא הלך לי


כל הזמנים הם GMT +2. הזמן כעת הוא 08:04.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ