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

הוסטס - פורום אחסון האתרים הגדול בישראל (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 


intercooler3819 14-01-09 13:41

Note: The precision parameter was introduced in PHP 4.



חדש לי מידי חח


MusicMan 14-01-09 14:45

אפשר לעשות ככה:
b=12.34;
c=b*10;
ואז מוחק מספרים אחרי נקודה ואז מחלק ב10.

vadimg88 14-01-09 14:49

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

Speed 14-01-09 15:08

PHP קוד:

round (23.634,1

round

intercooler3819 14-01-09 17:44

ציטוט:

נכתב במקור על ידי vadimg88 (פרסם 692751)
אפשר לעשות מליון ואחד דברים. השאלה היא למה? למה לעשות את זה ולא להשתמש במשהו שכבר בנוי בתוך השפה למטרה הספציפית הזאת?!

יש עדיפות למשהו שקיים בשפה מהסיבה שהוא ב99% ממומש יותר מהר וכבר קומפל..

vadimg88 14-01-09 17:46

ציטוט:

יש עדיפות למשהו שקיים בשפה מהסיבה שהוא ב99&#37; ממומש יותר מהר וכבר קומפל..
אני יודע זה היה sarcasm

intercooler3819 14-01-09 17:51

חח אני יודע אבל יש לציין את הסיבה כי אני בטוח שהרבה כאן לא יודעים את זה (:

psycho 16-01-09 23:55

מה לגבי sprintf?

קוד:

<?php
$money1 = 68.75;
$money2 = 54.35;
$money = $money1 + $money2;
// echo $money will output "123.1";
$formatted = sprintf("&#37;01.2f", $money);
// echo $formatted will output "123.10"
?>

לפי הדוגמא מה MANUAL של PHP

DvirCohen 17-01-09 00:37

בשביל מה אתם מציעים את כלהדוגמאות המסובכות? substr? sprintf?
יש פונקציות שבנויות לדברים האלה, כמו שואדים אמר round היא אחת מהן, ופה נגמר העניין הזה..


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

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