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

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

Erez | TrustMedia.co.il 14-01-09 10:36

הורדת המספרים לאחר הנקודה
 
איך אני מוריד את המספרים מאחורי הנקודה שישאר רק מספר אחד לאחר הנקודה
נגיד מ23.634 הוא יעשה 23.6 ואם אין מספר לאחר הנקודה הוא ישאיר את המספר הרגיל
אשמח לתשובה בהקדם|קורץ|

vadimg88 14-01-09 10:48

http://il2.php.net/round

Shon12 14-01-09 12:37

או SubStr פשוט...

Erez | TrustMedia.co.il 14-01-09 12:41

ציטוט:

נכתב במקור על ידי vadimg88 (פרסם 692715)

תודה :)

ציטוט:

נכתב במקור על ידי Shon12 (פרסם 692723)
או SubStr פשוט...

אבל למספר אין מספר קבוע של ספרות :/

Shon12 14-01-09 13:00

ציטוט:

נכתב במקור על ידי EAStyle (פרסם 692725)
תודה :)



אבל למספר אין מספר קבוע של ספרות :/

אז אפשר לעשות משהו כזה:
PHP קוד:

<?php
$num 
"86544.123";
$array explode(".",$num);

    if (
strlen($array[1]) > 1)
    {
    echo 
$array[0].".";
    echo 
substr($array[1],0,1);
    }
?>

בכל מקרה... הפיתרון של וואדים כמובן יותר טוב
שמח שהצלחת להסתדר :).

Derey22 14-01-09 13:10

מה פתאום,הדרך הכי טובה היא שימוש בהמרה למשתנה מסוג int.
$a=(int) $b;
עריכה:צודק,

vadimg88 14-01-09 13:18

כן אז לא קראת. הוא בפירוש ביקש מ23.634 הוא יעשה 23.6 typecasting לא יעשה את זה.

intercooler3819 14-01-09 13:25

ROUND מעגל לא מוחק מספרים אחרי הנקודה

תעשה CASTING ממה שאני זוכר זה
PHP קוד:

<?php
$var 
= (int) 24.245;?>


intercooler3819 14-01-09 13:26

הא אמ סליחה לא קראתי לעומק

אתה יכול לפרק ל2 מספרים אחד זה שלפני אחד זה שאחרי, אחרכך לבצע SUBSTR על זה שאחרי לX תווים ואז לקמבן אותם חזרה לSTRING ואז קאסטינג בכוח לFLOAT

בהצלחה

vadimg88 14-01-09 13:35

אני לא מבין למה לעשות כל כך הרבה דברים במקום פשוט:

PHP קוד:

echo round(23.6341);  // 23.6 



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

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