|
|
|
สอบถามคะ สำหรับ php ถ้าต้องการกำหนดรูปแบบตัวเลขยอดเงินอย่างไรคะ |
|
|
|
|
|
|
|
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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
echo substr( (1000000000000+(781.25* 100)), 1).'<BR>';
อันนี้ก็แสดงผลเป็น
000000078125 นะ
|
|
|
|
|
Date :
2014-07-17 14:20:01 |
By :
progamer2000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมได้แบบนี้แฮะ - -"
|
|
|
|
|
Date :
2014-07-17 14:28:32 |
By :
progamer2000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใช้ php เวอชั่นเก่าอยู่หรือเปล่าครับ ?
|
|
|
|
|
Date :
2014-07-17 14:33:35 |
By :
progamer2000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมก็เดาเอานะ ลอง
echo 781.25 * 100 ;
ออกมาดูซิครับได้ 78125 หรือเปล่า
|
|
|
|
|
Date :
2014-07-17 14:39:42 |
By :
progamer2000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<?
echo substr((1000000000000+(781.25* 100)),1,12).'<BR>';
?>
|
|
|
|
|
Date :
2014-07-17 14:45:44 |
By :
progamer2000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
พอดีเห็นสาว ๆ ถามแล้วอยากตอบ
ถ้าเป็นผมจะสร้างเป้นฟังกฺชั่นเพื่อเอาไว้ใช้ได้หลาย ๆ งานครับ
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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมว่าเครื่อง น่าจะเป็น รุ่นเก่าหรือเปล่าครับ 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>';
?>
|
|
|
|
|
Date :
2014-07-17 15:38:03 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เรียกใช้ผ่าน 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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
สั้นๆ จากข้างบน
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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|