 |
[PHP]
จุดทศนิยม - ไม่รู้จะเริ่มยังงัย คำนวณค่าออกได้ 2.348 แต่ต้องการตัดให้เหลือ 2 ตำแหน่ง แต่ไม่มีการปัดขึ้น |
|
 |
|
|
 |
 |
|
ขอบคุณสำหรับคำตอบของคุณ khunset
แต่ถ้าใช้คำสั่งตัดคำ กรณีที่ เป็น 2.00 มันก็จะแสดงผลแค่ 2 ไม่มีจุดทศนิยม ซึ่งมันไม่ใช่ตัวที่ต้องการจิง ๆ อ่ะ
 
|
 |
 |
 |
 |
Date :
2009-03-12 22:21:06 |
By :
binna |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ตัดแล้ว ใช้ number_format($xxx,2) ครับ
ผมไม่รู้จริงๆ ใช้ฟังก์ชันไหนถึงจะไม่ปัด ใครรู้บอกผมด้วยคน เพราะไม่จำเป็นต้องใช้สักที
|
 |
 |
 |
 |
Date :
2009-03-12 22:23:34 |
By :
plakrim |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอบคุณคุณ plakrim
วิธีนี้ได้ผลจิง ๆ ด้วย
55555
|
 |
 |
 |
 |
Date :
2009-03-12 22:42:28 |
By :
binna |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ลองดู function round() ครับ
|
 |
 |
 |
 |
Date :
2009-03-12 23:44:22 |
By :
webmaster |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
round(ลาว ) มันก็ปัดไม่ใช่หรอพี่วิน หรือมีวิธีใช้ที่เจ๋งๆ สอนน้องด้วย เผื่อมีโอกาสได้ใช้
|
 |
 |
 |
 |
Date :
2009-03-13 00:34:30 |
By :
plakrim |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ไม่ค่อยแน่ใจเหมือนกัน เลยอยากให้ดูครับ 
|
 |
 |
 |
 |
Date :
2009-03-13 00:38:36 |
By :
webmaster |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
round มันปัดทศนิยมตัวสุดท้ายที่เราตัดนี่ครับ
เช่น
Code (PHP)
1. <?php
2. round (123.987, 2) = 123.99
3. round (9999.99999, 2) = 10000.00 # << อันนี้ไม่แน่ใจ
4. ?>
ลองดูนี่ครับ วุ่นวายไปนิดแต่คิดว่าใช้ได้ผล
Code (PHP)
01. <?php
02. $value = 123.987; # ค่าของตัวเลข
03. $rPosition = 2; # จำนวน ทศนิยมที่ต้องการตัดให้เลือ
04.
05. $round = round ( $value , $rPosition ); #ตัดให้เหลือหลักที่ต้องการ
06. $result_len = strlen ( $round ); # หาความยาวของ $round
07. $result_str = substr ( $value ,0, $result_len ); # เอามาตัดข้อความดั้งเดิมให้เหลือเท่ากับ $round
08. $result_int = (double)( $result_str ); # แปลง ข้อความใหม่ให้เป็น ประเภทเป็นทศนิยม
09.
10. echo gettype ( $result_int ). " value=" . $result_int ; # ทดสอบ
11. ?>
|
 |
 |
 |
 |
Date :
2009-03-13 01:24:52 |
By :
เด็กชาย กอ ไก่ |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ความจริงก็ไม่ยากหรอกครับ
Code (PHP)
01. <?php
02. $x = 2.348;
03. $y = 2.000;
04.
05. function to2PointWithNoRound( $num ){
06. $num = strval ( $num );
07.
08. $arr = split( '\.' , $num );
09. if ( count ( $arr ) == 2 )
10. return ( $arr [0]. '.' . substr ( $arr [1], 0, 2)) + 0;
11.
12. return $num +0;
13. }
14.
15. echo to2PointWithNoRound( $x ), '<br>' ;
16. echo to2PointWithNoRound( $y ), '<br>' ;
17. ?>
|
 |
 |
 |
 |
Date :
2009-03-13 10:00:12 |
By :
pjgunner |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ลืมอีก
SITE: http://gunner.freetzi.com/newVer
MSN: wongtom191@hotmail.com
TEL: 087-577-0276
พี่วินคับ เรพบนไม่ออกอีกแล้วครับ (ผมใช้ ไฟล์ฟอก3.0.7 บั๊ก ยังไม่หายหรือนี่)
|
 |
 |
 |
 |
Date :
2009-03-13 10:02:51 |
By :
pjgunner |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ไม่ได้มาจาก C ครับ 555 เรพ 9 นั่น ง่ายที่สุดแล้ว 
งั้นขอแก้ ฟังชั่นตัวเองหน่อยนะครับ
Code (PHP)
01. <?php
02. $x = 2.348;
03. $y = 2.000;
04. $z = 4.12344;
05.
06. function toXPointWithNoRound( $num , $point = 2){
07. $num = strval ( $num );
08.
09. $arr = split( '\.' , $num );
10. if ( count ( $arr ) == 2 )
11. return ( $arr [0]. '.' . substr ( $arr [1], 0, $point )) + 0;
12.
13. return $num +0;
14. }
15.
16. echo toXPointWithNoRound( $x ), '<br>' ;
17. echo toXPointWithNoRound( $y ), '<br>' ;
18. echo toXPointWithNoRound( $z , 3);
19.
20. ?>
|
 |
 |
 |
 |
Date :
2009-03-13 10:16:04 |
By :
pjgunner |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
โทษทีนะครับ ลืมอ่านข้างบน จะเอา 00 ด้วย 
ไปแก้ของเค้าเฉย
|
 |
 |
 |
 |
Date :
2009-03-13 10:36:16 |
By :
pjgunner |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
แล้ว ใน visual studio 2005 ใช้คำสั่ง อะไรคับ....
|
 |
 |
 |
 |
Date :
2009-05-19 15:41:31 |
By :
unzenzer |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอบคุณมากค่ะ ^^
|
 |
 |
 |
 |
Date :
2012-06-18 15:35:52 |
By :
priorincantato |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|