ถ้าเป็นแบบนี้ได้ คับ 37 3/8" X 29 cm = 2725.42 cm ..... แต่ผม ติด ค่า 37 3/8" X 29 1/2" รบกวนพี่ ๆ ด้วย คั๊บ
ถ้าเป็นแบบนี้ได้ คับ 37 3/8" X 29 cm = 2725.42 cm
แต่ผม ติด ค่า 37 3/8" X 29 1/2"
-----------------------------------------------------------------------------------------------------------------
37x3/8x2.54xxx29x1/2x2.54Array ( [0] => 37 [1] => 3/8 [2] => 2.54 [5] => 29 [6] => 1/2 [7] => 2.54 ) 6922.5668 cm ** ผลลัพธ์ ไม่ตรงคับ
37+ 3 หาร 8 ได้ = 37+0.375= 37.375 ทำเป็น cm โดย คูณ ด้วย 2.54
ได้ = 94.9325
ส่วน 29 ก็ ไม่ต้องไปคูณ 2.54 เพราะ เป็น cm แล้ว
= 94.9325 X 29
= 2725.42 cm
----------------------------------------------------------------------------------------------------------------
Code (PHP)
function str2exp_1($string){
echo $string."<br />\n";
$multi = array('x','X');
$str_exp = str_replace("\"","x2.54",$string);
$str_exp = str_replace("cm","",$str_exp);
$str_exp = str_replace($multi,"x",$str_exp);
$str_exp = str_replace(" ","x",$str_exp);
echo $str_exp;
$expression = explode("x",$str_exp);
$expression = array_filter($expression);
print_r($expression);
$result=1;
foreach($expression as $val){
if(strstr($val,"/")){
list($a,$b) = explode("/",$val);
$sum_n = ($a/$b)+$expression[0]; // ที่ติด คือ ตรงนี้ คับ ----------------------------------
echo "$sum_n"."<br>";
}else{
$result *= $val;
}
}
return $result;
}
//$size='37 3/8" X 29 cm'; ค่านี้ ได้ คับ
$size='37 3/8" X 29 1/2"'; // ค่านี้ ไม่ได้ คับ
echo $size."<hr>";
$quiz = array("$size");
foreach($quiz as $each){
echo str2exp_1($each).' '."cm";
}
// output 2725.42 cm
รบกวน พี่ ๆ ด้วย น่ะ คับ ผม ทำมาหลาย วัน แล้ว คับTag : PHP, MySQL, HTML/CSS, Ajax, iPhone, Windows
ประวัติการแก้ไข 2012-12-14 11:52:06 2012-12-14 11:55:50 2012-12-14 13:06:26 2012-12-14 13:10:12 2012-12-14 13:39:44
Date :
2012-12-14 11:49:54
By :
ARsor
View :
1017
Reply :
3
ยากหน่อยน่ะครับเขียน function แล้วให้คนอื่นมานั่งไล่ครับ
Date :
2012-12-15 08:11:41
By :
mr.win
Quote: 11"x15"Array ( [0] => 11 [1] => 2.54 [2] => 15 [3] => 2.54 ) 1064.514
11x15cmArray ( [0] => 11 [1] => 15 ) 165
11 5/8"x15cmArray ( [0] => 11+5/8 [1] => 2.54 [2] => 15 ) 442.9125
37 3/8"x29 1/2"Array ( [0] => 37+3/8 [1] => 2.54 [2] => 29+1/2 [3] => 2.54 ) 7113.292225
11"x15cmArray ( [0] => 11 [1] => 2.54 [2] => 15 ) 419.111"Array ( [0] => 11 [1] => 2.54 ) 27.94
ได้แล้วครับ
function str2exp2($string){
echo $string;
$str_exp = str_replace("\"","x2.54",$string);
$str_exp = str_replace("cm","",$str_exp);
$str_exp = str_replace(" ","+",$str_exp);
$expression = explode("x",$str_exp);
$expression = array_filter($expression);
print_r($expression);
$result=1;
foreach($expression as $val){
if(strstr($val,"/") && strstr($val,"+")){
list($a,$b) = explode("+",$val);
list($c,$d) = explode("/",$b);
$result *= ($a+($c/$d));
}else{
$result *= $val;
}
}
echo $result."<hr />";
}
$quiz = array('11"x15"','11x15cm','11 5/8"x15cm','37 3/8"x29 1/2"','11"x15cm','11"');
foreach($quiz as $each){
str2exp2($each);
}
Date :
2012-12-15 14:04:12
By :
sakuraei
ขอบ คุณ มาก คั๊บ งมมาตั้งหลายวัน ทำได้แล้ว คับ เจ๋ง สุด ๆ like
Date :
2012-12-15 16:49:23
By :
ARsor
Load balance : Server 02