ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingตัวเลขมากกว่า 13 หลัก ทำไมมันเอามาลบกับค่าอื่นแล้วเพี้ยนๆครับ ใช้ int() ก็ไม่หาย
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: ตัวเลขมากกว่า 13 หลัก ทำไมมันเอามาลบกับค่าอื่นแล้วเพี้ยนๆครับ ใช้ int() ก็ไม่หาย  (อ่าน 1625 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
okgofun
ก๊วนเสียว
*

พลังน้ำใจ: 1
ออฟไลน์ ออฟไลน์

กระทู้: 396



ดูรายละเอียด
« เมื่อ: 12 พฤศจิกายน 2007, 18:52:42 »

ตัวเลขมากกว่า 13 หลัก ทำไมมันเอามาลบกับค่าอื่นแล้วเพี้ยนๆครับ ใช้ int() ก็ไม่หาย

เช่น

93000000313124 - 1930

ประมาณนี้ครับ ผลที่ได้คือเพี้ยนไปเลข มีค่า + ด้วย กรณีตัวเลขมากๆแบบนี้ต้องกำหนดอะไรเพิ่มเติมหรือปล่าวครับสำหรับ PHP

ใครพอทราบบ้างครับ ว่าต้องกำหนดยังไง ลองหาวิธีดูแต่ยังไมได้เสียที
บันทึกการเข้า

จะต้องทำให้ได้เดือนละอย่างต่ำ $1,000 แล้วก็ไม่โดนแบน
ryanKung
ก๊วนเสียว
*

พลังน้ำใจ: 1
ออฟไลน์ ออฟไลน์

กระทู้: 260



ดูรายละเอียด เว็บไซต์
« ตอบ #1 เมื่อ: 12 พฤศจิกายน 2007, 19:12:05 »

โค๊ด:
<?

print $test = 93000000313124 - 1930;  //93000000311194
print "<br>";
$a = 93000000313124;
$b = 1930;
print $test2 = $a-$b;  //93000000311194
print "<br>";
print $test3 = intval($a)-intval($b); //1073450906
print "<br>";
print $test4 = doubleval($a)-doubleval($b); //93000000311194
print "<br>";

?>

ที่ได้ค่าถูก เพราะ php มันเลือก type ให้เอง
บันทึกการเข้า

Mr_RSS
คนรักเสียว
*

พลังน้ำใจ: 14
ออฟไลน์ ออฟไลน์

กระทู้: 121



ดูรายละเอียด
« ตอบ #2 เมื่อ: 12 พฤศจิกายน 2007, 19:15:51 »

ตัวเลขมากกว่า 13 หลัก ทำไมมันเอามาลบกับค่าอื่นแล้วเพี้ยนๆครับ ใช้ int() ก็ไม่หาย

เช่น

93000000313124 - 1930

ประมาณนี้ครับ ผลที่ได้คือเพี้ยนไปเลข มีค่า + ด้วย กรณีตัวเลขมากๆแบบนี้ต้องกำหนดอะไรเพิ่มเติมหรือปล่าวครับสำหรับ PHP

ใครพอทราบบ้างครับ ว่าต้องกำหนดยังไง ลองหาวิธีดูแต่ยังไมได้เสียที

Rang ของ int มันมีค่าได้ไม่ถึงครับ  อย่างน้อยต้อง Double
บันทึกการเข้า

okgofun
ก๊วนเสียว
*

พลังน้ำใจ: 1
ออฟไลน์ ออฟไลน์

กระทู้: 396



ดูรายละเอียด
« ตอบ #3 เมื่อ: 12 พฤศจิกายน 2007, 19:28:43 »

ที่ยากกว่านั้นคือ ผมจะเอาค่านี้เก็บไว้ในตัวแปรก่อนแล้วยัดลงไฟล์หนะครับ แล้วค่อย include ค่ามาใช้ คือจำเป็นต้องลูปรับค่าหมายเลขจำนวนมากๆนี่มาทำการหนะครับ


$cut = 350 ;
$number = "หมายเลขของท่านคือ ".doubleval(9500000133200-$cut)." ยินดีต้อนรับ";

echo $number ;

// ยังไม่ได้เลยครับ ควรจะใช้คำสั่งแบบใหนดีครับ

ปล. จำเป็นต้องใช้งานลักษณะนี้จริงๆ เหอๆ แย่เลย  Tongue

บันทึกการเข้า

จะต้องทำให้ได้เดือนละอย่างต่ำ $1,000 แล้วก็ไม่โดนแบน
ryanKung
ก๊วนเสียว
*

พลังน้ำใจ: 1
ออฟไลน์ ออฟไลน์

กระทู้: 260



ดูรายละเอียด เว็บไซต์
« ตอบ #4 เมื่อ: 12 พฤศจิกายน 2007, 19:53:32 »

ที่ยากกว่านั้นคือ ผมจะเอาค่านี้เก็บไว้ในตัวแปรก่อนแล้วยัดลงไฟล์หนะครับ แล้วค่อย include ค่ามาใช้ คือจำเป็นต้องลูปรับค่าหมายเลขจำนวนมากๆนี่มาทำการหนะครับ


$cut = 350 ;
$number = "หมายเลขของท่านคือ ".doubleval(9500000133200-$cut)." ยินดีต้อนรับ";

echo $number ;

// ยังไม่ได้เลยครับ ควรจะใช้คำสั่งแบบใหนดีครับ

ปล. จำเป็นต้องใช้งานลักษณะนี้จริงๆ เหอๆ แย่เลย  Tongue



code นี้ผมลองแล้วได้  9500000132850  ไม่ถูกหรอครับ
น่าจะผิดขั้นตอนอื่นละ ลอง check ดูครับ
บันทึกการเข้า

okgofun
ก๊วนเสียว
*

พลังน้ำใจ: 1
ออฟไลน์ ออฟไลน์

กระทู้: 396



ดูรายละเอียด
« ตอบ #5 เมื่อ: 12 พฤศจิกายน 2007, 20:10:17 »

$detail['show'] = '<a href="showdetail-'.doubleval(9500000132417).'.html" target="_blank" title="คลิ๊กอ่าน">เนื้อหาพิเศษ</a>' ;

echo $detail['show'] ;

ประมาณนี้ครับ ขนาดยังไม่ลบค่า มันก็ยังเพี้ยนครับ ค่าที่ได้ออกมาแบบนี้ showdetail-9.50000013242E+012.html เป็นแบบนี้เฉยเลยครับ
บันทึกการเข้า

จะต้องทำให้ได้เดือนละอย่างต่ำ $1,000 แล้วก็ไม่โดนแบน
okgofun
ก๊วนเสียว
*

พลังน้ำใจ: 1
ออฟไลน์ ออฟไลน์

กระทู้: 396



ดูรายละเอียด
« ตอบ #6 เมื่อ: 12 พฤศจิกายน 2007, 20:21:56 »

ที่ยากกว่านั้นคือ ผมจะเอาค่านี้เก็บไว้ในตัวแปรก่อนแล้วยัดลงไฟล์หนะครับ แล้วค่อย include ค่ามาใช้ คือจำเป็นต้องลูปรับค่าหมายเลขจำนวนมากๆนี่มาทำการหนะครับ


$cut = 350 ;
$number = "หมายเลขของท่านคือ ".doubleval(9500000133200-$cut)." ยินดีต้อนรับ";

echo $number ;

// ยังไม่ได้เลยครับ ควรจะใช้คำสั่งแบบใหนดีครับ

ปล. จำเป็นต้องใช้งานลักษณะนี้จริงๆ เหอๆ แย่เลย  Tongue



code นี้ผมลองแล้วได้  9500000132850  ไม่ถูกหรอครับ
น่าจะผิดขั้นตอนอื่นละ ลอง check ดูครับ


อ่า โทษทีครับ ต้องเพิ่มตัวเลขอีกหลักครับ

จาก $number = "หมายเลขของท่านคือ ".doubleval(9500000133200-$cut)." ยินดีต้อนรับ";
เป็น $number = "หมายเลขของท่านคือ ".doubleval(95000001332005-$cut)." ยินดีต้อนรับ"; // เพิ่มอีกหลัก

คือผมลองแล้ว ถ้าตัวเลข 13 หลัก มันจะมีปัญหาเลยครับ

บันทึกการเข้า

จะต้องทำให้ได้เดือนละอย่างต่ำ $1,000 แล้วก็ไม่โดนแบน
payu
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 125
ออฟไลน์ ออฟไลน์

กระทู้: 1,881



ดูรายละเอียด
« ตอบ #7 เมื่อ: 12 พฤศจิกายน 2007, 20:35:47 »


ปัญหาไม่ได้อยู่ที่ตัวคำนวณครับ .. อยู่ที่ตัว display (echo)

ให้ใช้ sprintf แทนครับ
โค๊ด:
$number = "หมายเลขของท่านคือ ".sprintf('%.0f', 95000001332005-$cut)." ยินดีต้อนรับ";

echo $number;

บันทึกการเข้า

EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 321
ออฟไลน์ ออฟไลน์

กระทู้: 12,459



ดูรายละเอียด เว็บไซต์
« ตอบ #8 เมื่อ: 12 พฤศจิกายน 2007, 20:44:56 »


ปัญหาไม่ได้อยู่ที่ตัวคำนวณครับ .. อยู่ที่ตัว display (echo)

ให้ใช้ sprintf แทนครับ
โค๊ด:
$number = "หมายเลขของท่านคือ ".sprintf('%.0f', 95000001332005-$cut)." ยินดีต้อนรับ";

echo $number;



ทำให้นึกถึงของฝึกภาษา C ตอนใหม่ๆ เลยแฮะ
printf แล้วใส่ผิดนิดหน่อย error ตลอด
« แก้ไขครั้งสุดท้าย: 13 พฤศจิกายน 2007, 10:45:01 โดย EThaiZone » บันทึกการเข้า

okgofun
ก๊วนเสียว
*

พลังน้ำใจ: 1
ออฟไลน์ ออฟไลน์

กระทู้: 396



ดูรายละเอียด
« ตอบ #9 เมื่อ: 12 พฤศจิกายน 2007, 20:53:22 »


ปัญหาไม่ได้อยู่ที่ตัวคำนวณครับ .. อยู่ที่ตัว display (echo)

ให้ใช้ sprintf แทนครับ
โค๊ด:
$number = "หมายเลขของท่านคือ ".sprintf('%.0f', 95000001332005-$cut)." ยินดีต้อนรับ";

echo $number;


 Smiley ขอบคุณมากครับได้แล้วครับ

* EThaiZone แก้ข้อความเอาออกมานอก Quote ครับ
« แก้ไขครั้งสุดท้าย: 13 พฤศจิกายน 2007, 10:45:45 โดย EThaiZone » บันทึกการเข้า

จะต้องทำให้ได้เดือนละอย่างต่ำ $1,000 แล้วก็ไม่โดนแบน
หน้า: [1]   ขึ้นบน
พิมพ์