Double::extractValue: Bitrix method

      
<?php 
//  Bitrix\Bizproc\BaseType\Double :: extractValue()
//  /dist/bitrix/modules/bizproc/lib/basetype/double.php:211

    
protected static function extractValue(FieldType $fieldType, array $field, array $request)
    {
        
$value parent::extractValue($fieldType$field$request);

        if (
$value !== null && is_string($value) && strlen($value) > 0)
        {
            if (\
CBPActivity::isExpression($value))
                return 
$value;

            
$value str_replace(' '''str_replace(',''.'$value));
            if (
is_numeric($value))
            {
                
$value = (float) $value;
            }
            else
            {
                
$value null;
                static::
addError(array(
                    
'code' => 'ErrorValue',
                    
'message' => Loc::getMessage('BPDT_DOUBLE_INVALID'),
                    
'parameter' => static::generateControlName($field),
                ));
            }
        }
        else
        {
            
$value null;
        }

        return 
$value;
    }