当前位置: 首页>>代码示例>>PHP>>正文


PHP Zend_Locale_Math_PhpMath::Sub方法代码示例

本文整理汇总了PHP中Zend_Locale_Math_PhpMath::Sub方法的典型用法代码示例。如果您正苦于以下问题:PHP Zend_Locale_Math_PhpMath::Sub方法的具体用法?PHP Zend_Locale_Math_PhpMath::Sub怎么用?PHP Zend_Locale_Math_PhpMath::Sub使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Zend_Locale_Math_PhpMath的用法示例。


在下文中一共展示了Zend_Locale_Math_PhpMath::Sub方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: testSub

 public function testSub()
 {
     Zend_Locale_Math_PhpMath::disable();
     $this->assertEquals(-1, Zend_Locale_Math_PhpMath::Sub(1, 2));
     $this->assertEquals(-2, Zend_Locale_Math_PhpMath::Sub(null, 2));
     /**
      * BCMath extension doesn't actually operatest with a scientific notation (e.g. 1.2e+100)
      * So we shouldn't test numbers such as -9E+100, but probably should care about correct
      * float => string conversion
      *
      * @todo provide correct behavior
      */
     // $this->assertEquals(9E+300, Zend_Locale_Math_PhpMath::Sub(-9E+100, -9E+300));
     $this->assertEquals(5.89, Zend_Locale_Math_PhpMath::Sub(10.4444, 4.5556, 2));
     $this->assertEquals(6, Zend_Locale_Math_PhpMath::Sub(10.4444, 4.5556, 0));
     $this->assertEquals(-6, Zend_Locale_Math_PhpMath::Sub(-10.4444, -4.5556, 0));
     $this->assertEquals(-1, Zend_Locale_Math_PhpMath::Sub(10, 11, 2));
 }
开发者ID:ThorstenSuckow,项目名称:conjoon,代码行数:18,代码来源:MathTest.php

示例2: round

 /**
  * Surprisingly, the results of this implementation of round()
  * prove better than the native PHP round(). For example, try:
  *   round(639.795, 2);
  *   round(267.835, 2);
  *   round(0.302515, 5);
  *   round(0.36665, 4);
  * then try:
  *   Zend_Locale_Math::round('639.795', 2);
  */
 public static function round($op1, $precision = 0)
 {
     if (self::$_bcmathDisabled) {
         $op1 = round($op1, $precision);
         if (strpos((string) $op1, 'E') === false) {
             return self::normalize(round($op1, $precision));
         }
     }
     if (strpos($op1, 'E') !== false) {
         $op1 = self::floatalize($op1);
     }
     $op1 = trim(self::normalize($op1));
     $length = strlen($op1);
     if (($decPos = strpos($op1, '.')) === false) {
         $op1 .= '.0';
         $decPos = $length;
         $length += 2;
     }
     if ($precision < 0 && abs($precision) > $decPos) {
         return '0';
     }
     $digitsBeforeDot = $length - ($decPos + 1);
     if ($precision >= $length - ($decPos + 1)) {
         return $op1;
     }
     if ($precision === 0) {
         $triggerPos = 1;
         $roundPos = -1;
     } elseif ($precision > 0) {
         $triggerPos = $precision + 1;
         $roundPos = $precision;
     } else {
         $triggerPos = $precision;
         $roundPos = $precision - 1;
     }
     $triggerDigit = $op1[$triggerPos + $decPos];
     if ($precision < 0) {
         // zero fill digits to the left of the decimal place
         $op1 = substr($op1, 0, $decPos + $precision) . str_pad('', abs($precision), '0');
     }
     if ($triggerDigit >= '5') {
         if ($roundPos + $decPos == -1) {
             return str_pad('1', $decPos + 1, '0');
         }
         $roundUp = str_pad('', $length, '0');
         $roundUp[$decPos] = '.';
         $roundUp[$roundPos + $decPos] = '1';
         if ($op1 > 0) {
             if (self::$_bcmathDisabled) {
                 return Zend_Locale_Math_PhpMath::Add($op1, $roundUp, $precision);
             }
             return self::Add($op1, $roundUp, $precision);
         } else {
             if (self::$_bcmathDisabled) {
                 return Zend_Locale_Math_PhpMath::Sub($op1, $roundUp, $precision);
             }
             return self::Sub($op1, $roundUp, $precision);
         }
     } elseif ($precision >= 0) {
         return substr($op1, 0, $decPos + ($precision ? $precision + 1 : 0));
     }
     return (string) $op1;
 }
开发者ID:netconstructor,项目名称:Centurion,代码行数:73,代码来源:Math.php

示例3: testSub

 public function testSub()
 {
     Zend_Locale_Math_PhpMath::disable();
     $this->assertEquals(-1, Zend_Locale_Math_PhpMath::Sub(1, 2));
     $this->assertEquals(-2, Zend_Locale_Math_PhpMath::Sub(null, 2));
     try {
         $this->assertEquals(0, Zend_Locale_Math_PhpMath::Sub(-9.000000000000001E+100, -8.999999999999999E+200));
         $this->fail("exception expected");
     } catch (Zend_Locale_Math_Exception $e) {
         // success
     }
     $this->assertEquals(5.89, Zend_Locale_Math_PhpMath::Sub(10.4444, 4.5556, 2));
     $this->assertEquals(6, Zend_Locale_Math_PhpMath::Sub(10.4444, 4.5556, 0));
     $this->assertEquals(-6, Zend_Locale_Math_PhpMath::Sub(-10.4444, -4.5556, 0));
     $this->assertEquals(-1, Zend_Locale_Math_PhpMath::Sub(10, 11, 2));
 }
开发者ID:jorgenils,项目名称:zend-framework,代码行数:16,代码来源:MathTest.php


注:本文中的Zend_Locale_Math_PhpMath::Sub方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。