Index: temp/trunk/data/lib/slib.php
===================================================================
--- temp/trunk/data/lib/slib.php	(revision 9528)
+++ temp/trunk/data/lib/slib.php	(revision 9537)
@@ -1064,17 +1064,17 @@
 	// »Í¼Î¸ÞÆþ
 	case 1:
-		$ret = round($ret);
+		$ret = sfRound($ret);
 		break;
 	// ÀÚ¤ê¼Î¤Æ
 	case 2:
-		$ret = floor($ret);
+		$ret = sfFloor($ret);
 		break;
 	// ÀÚ¤ê¾å¤²
 	case 3:
-		$ret = ceil($ret);
+		$ret = sfCeil($ret);
 		break;
 	// ¥Ç¥Õ¥©¥ë¥È:ÀÚ¤ê¾å¤²
 	default:
-		$ret = ceil($ret);
+		$ret = sfCeil($ret);
 		break;
 	}
@@ -1086,20 +1086,21 @@
 	$real_tax = $tax / 100;
 	$ret = $price * (1 + $real_tax);
+	
 	switch($tax_rule) {
 	// »Í¼Î¸ÞÆþ
 	case 1:
-		$ret = round($ret);
+		$ret = sfRound($ret);
 		break;
 	// ÀÚ¤ê¼Î¤Æ
 	case 2:
-		$ret = floor($ret);
+		$ret = sfFloor($ret);
 		break;
 	// ÀÚ¤ê¾å¤²
 	case 3:
-		$ret = ceil($ret);
+		$ret = sfCeil($ret);
 		break;
 	// ¥Ç¥Õ¥©¥ë¥È:ÀÚ¤ê¾å¤²
 	default:
-		$ret = ceil($ret);
+		$ret = sfCeil($ret);
 		break;
 	}
@@ -1109,21 +1110,24 @@
 // ·å¿ô¤ò»ØÄê¤·¤Æ»Í¼Î¸ÞÆþ
 function sfRound($value, $digit = 0){
-	
-	if(is_int($digit)){
-		$value = $value * 10 * $digit;
-	}
+	// À°¿ô³î¤Ä0½Ð¤Ê¤±¤ì¤Ð·å¿ô»ØÄê¤ò¹Ô¤¦
+	if(sfIsInt($digit) and $digit != 0) $value = $value * 10 * $digit;
 	$ret = round($value);
 	return $ret;
-	
 }
 
 // ·å¿ô¤ò»ØÄê¤·¤ÆÀÚ¤ê¼Î¤Æ
-function sfFloor($value, $digit){
-	
+function sfFloor($value, $digit = 0){
+	// À°¿ô³î¤Ä0½Ð¤Ê¤±¤ì¤Ð·å¿ô»ØÄê¤ò¹Ô¤¦
+	if(sfIsInt($digit) and $digit != 0) $value = $value * 10 * $digit;
+	$ret = floor($value);
+	return $ret;
 }
 
 // ·å¿ô¤ò»ØÄê¤·¤ÆÀÚ¤ê¾å¤²
-function sfCeil($value, $digit){
-	
+function sfCeil($value, $digit = 0){
+	// À°¿ô³î¤Ä0½Ð¤Ê¤±¤ì¤Ð·å¿ô»ØÄê¤ò¹Ô¤¦
+	if(sfIsInt($digit) and $digit != 0) $value = $value * 10 * $digit;
+	$ret = ceil($value);
+	return $ret;
 }
 
