Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > สอบถามคะ สำหรับ php ถ้าต้องการกำหนดรูปแบบตัวเลขยอดเงินอย่างไรคะ



 

สอบถามคะ สำหรับ php ถ้าต้องการกำหนดรูปแบบตัวเลขยอดเงินอย่างไรคะ

 



Topic : 109998



โพสกระทู้ ( 297 )
บทความ ( 0 )



สถานะออฟไลน์




สอบถามคะ สำหรับ php ถ้าต้องการกำหนดรูปแบบตัวเลขยอดเงินให้เป็นแบบนี้ต้องทำอย่างไรคะ

781.25 = 000000078125
750 = 000000075000

จะต้องกำหนดอย่างไรหรอคะ
ได้ลองใช้
Code (PHP)
 echo str_pad(2555,12,"0",STR_PAD_LEFT); 


แต่ค่าที่โชว์นั้นแสดงเป็น 000000002555

**โดยตัวเลขทั้งหมดต้องมี 12 ตัวคะ



Tag : PHP









ประวัติการแก้ไข
2014-07-17 13:59:54
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-07-17 13:59:17 By : Baitong_ch View : 778 Reply : 19
 

 

No. 1



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



สถานะออฟไลน์


echo substr( (1000000000000+78125), 1);
echo substr( (1000000000000+(781.25 * 100)), 1);








ประวัติการแก้ไข
2014-07-17 14:06:33
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-17 14:05:30 By : Chaidhanan
 


 

No. 2



โพสกระทู้ ( 297 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 1 เขียนโดย : Chaidhanan เมื่อวันที่ 2014-07-17 14:05:30
รายละเอียดของการตอบ ::
ไม่ได้อะคะ พอลองแทนค่า ถ้าเป็นค่าที่เป็นที่ไม่มีทศนิยม ก็ถูกต้อง
แต่พอเป็น .25 กลับแสดงค่าไม่ถูกค่ะ

Code (PHP)
echo substr( (1000000000000+781.25), 1).'<BR>';
echo substr( (1000000000000+(781.25* 100)), 1).'<BR>';


ค่าที่แสดงกลับเป็น
Code
000000000780 000000078120



แต่ที่ต้องการเป็นแบบนี้คะ
781.25 = 000000078125

ช่วยแนะนำด้วยคะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-17 14:13:39 By : Baitong_ch
 

 

No. 3



โพสกระทู้ ( 1,150 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

Code (PHP)
echo substr( (1000000000000+(781.25* 100)), 1).'<BR>';


อันนี้ก็แสดงผลเป็น


000000078125 นะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-17 14:20:01 By : progamer2000
 


 

No. 4



โพสกระทู้ ( 297 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 3 เขียนโดย : progamer2000 เมื่อวันที่ 2014-07-17 14:20:01
รายละเอียดของการตอบ ::

Code (PHP)
<?
echo '1 >'.substr( (1000000000000+781.25), 1).'<BR>';
echo '2 >'.substr( (1000000000000+(781.25* 100)), 1).'<BR>';
?>


ผลที่ได้

re

ได้ค่าแบบนี้จริงๆคะ


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-17 14:25:50 By : Baitong_ch
 


 

No. 5



โพสกระทู้ ( 1,150 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

11

ผมได้แบบนี้แฮะ - -"
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-17 14:28:32 By : progamer2000
 


 

No. 6



โพสกระทู้ ( 297 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 5 เขียนโดย : progamer2000 เมื่อวันที่ 2014-07-17 14:28:32
รายละเอียดของการตอบ ::
แก้ไม่ถูกเลย ไม่ทราบว่าเป็นเพราะอะไรอะคะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-17 14:30:49 By : Baitong_ch
 


 

No. 7



โพสกระทู้ ( 1,150 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ใช้ php เวอชั่นเก่าอยู่หรือเปล่าครับ ?
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-17 14:33:35 By : progamer2000
 


 

No. 8



โพสกระทู้ ( 297 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 7 เขียนโดย : progamer2000 เมื่อวันที่ 2014-07-17 14:33:35
รายละเอียดของการตอบ ::
PHP Version 5.2.6
มันเก่าไปใช่ไหมคะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-17 14:35:20 By : Baitong_ch
 


 

No. 9



โพสกระทู้ ( 1,150 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ผมก็เดาเอานะ ลอง

echo 781.25 * 100 ;

ออกมาดูซิครับได้ 78125 หรือเปล่า
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-17 14:39:42 By : progamer2000
 


 

No. 10



โพสกระทู้ ( 297 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 9 เขียนโดย : progamer2000 เมื่อวันที่ 2014-07-17 14:39:42
รายละเอียดของการตอบ ::
ได้ 78125 คะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-17 14:41:06 By : Baitong_ch
 


 

No. 11



โพสกระทู้ ( 1,150 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

Code (PHP)
<?
echo substr((1000000000000+(781.25* 100)),1,12).'<BR>';
?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-17 14:45:44 By : progamer2000
 


 

No. 12



โพสกระทู้ ( 297 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 11 เขียนโดย : progamer2000 เมื่อวันที่ 2014-07-17 14:45:44
รายละเอียดของการตอบ ::
ก็ได้ 000000078120 คะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-17 14:47:54 By : Baitong_ch
 


 

No. 13



โพสกระทู้ ( 361 )
บทความ ( 1 )



สถานะออฟไลน์


Code (PHP)
<?php
$str = "781.25";
$num = explode('.',$str);
$new_str = $num[0].$num[1];

$id = sprintf('%012s', $new_str);

echo $id;
?>

<br/>

<?
$id2 = "750.00";

$id2 = preg_replace('/\./', '', (string) $id2);

$id2 = sprintf('%012s', $id2);

echo $id2;
?>


https://www.thaicreate.com/php/forum/046525.html


ประวัติการแก้ไข
2014-07-17 15:05:25
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-17 15:02:48 By : sabaitip
 


 

No. 14



โพสกระทู้ ( 297 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 11 เขียนโดย : progamer2000 เมื่อวันที่ 2014-07-17 14:45:44
รายละเอียดของการตอบ ::
แก้ปัญหาได้แล้วคะ
นำค่ามา * 100 ก่อน (เพราะจะได้ค่าที่ถูก เพราะเอา 781.25 * 100 แล้วได้ 78125 )
แล้วก็นำมาใส่ str_pad($amount, 12, "0", STR_PAD_LEFT)

ค่าก็เลยแสดงผลถูกแล้วคะ

ขอบคุณมากคะ ที่ช่วยแนะนำ :)

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-17 15:07:43 By : Baitong_ch
 


 

No. 15



โพสกระทู้ ( 297 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 13 เขียนโดย : sabaitip เมื่อวันที่ 2014-07-17 15:02:48
รายละเอียดของการตอบ ::
ขอบคุณมากคะ จะนำมาปรับใช้คะ :)

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-17 15:08:33 By : Baitong_ch
 


 

No. 16



โพสกระทู้ ( 86 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

พอดีเห็นสาว ๆ ถามแล้วอยากตอบ

ถ้าเป็นผมจะสร้างเป้นฟังกฺชั่นเพื่อเอาไว้ใช้ได้หลาย ๆ งานครับ


Code (PHP)
$data1 = 781.25;
$data2 = 750;

echo convertData($data1)."<br>";
echo convertData($data2)."<br>";

function convertData($data) {
	$rdata = (int)($data * 100);	
	while (strlen($rdata) < 12) {
		$rdata = '0'.$rdata;
	}
	return $rdata;
}


ทดสอบให้แล้วครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-17 15:17:11 By : soghband
 


 

No. 17



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



สถานะออฟไลน์


ผมว่าเครื่อง น่าจะเป็น รุ่นเก่าหรือเปล่าครับ 1000000000000 มันอาจใหญ่เกิน buffer ก็ได้ครับ

และ 781.25 * 100 มันเป็น float เมื่อไป บวก ทำให้ผลลัพธ์ที่ได้ เป็น float ไปด้วย
พอถูก convert เป็นจำนวนเต็มเลยทำให้ตัด ค่าที่เกินออกไป

ต้องลองเขียนแบบนี้ครับ
Code (PHP)
<?php
echo substr((1000000000000+(781.25* 100)), 1).'<BR>';
echo substr((1000000000000 + (int)(781.25 * 100) ),1,12).'<BR>';
echo substr( '000000000000' . (781.25 * 100) , -12).'<BR>';
?>


TEST Numeric
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-17 15:38:03 By : Chaidhanan
 


 

No. 18



โพสกระทู้ ( 484 )
บทความ ( 3 )



สถานะออฟไลน์


เรียกใช้ผ่าน function เวลาแก้ไขก็จะได้แก้ที่เดียวครับ

<?php
function _prefix($input, $max=12, $prefix='0')
{
$i=0;
$res="";
$n=$input*100;
while ($i < $max-strlen($n)) {
$res.=$prefix;
$i++;
}
return $res.$n;
}
echo _prefix(750); //000000075000
echo '<br>';
echo _prefix(781.25); //000000078125
echo '<br>';
echo _prefix(781.25, 10); //0000078125
echo '<br>';
echo _prefix(750,12,'X'); //XXXXXXX75000
echo '<br>';
?>
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-21 14:38:53 By : fossil31
 


 

No. 19



โพสกระทู้ ( 484 )
บทความ ( 3 )



สถานะออฟไลน์


สั้นๆ จากข้างบน

function prefix($input, $max=12, $prefix='0')
{
return str_pad($input*100, $max, $prefix, STR_PAD_LEFT);
}
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-21 14:42:39 By : fossil31
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามคะ สำหรับ php ถ้าต้องการกำหนดรูปแบบตัวเลขยอดเงินอย่างไรคะ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 03
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่