function test_unformatNumber()
 {
     global $phpAds_DecimalPoint;
     if (isset($phpAds_DecimalPoint)) {
         $remember_phpAds_DecimalPoint = $phpAds_DecimalPoint;
     }
     //set default decimalPoint
     $phpAds_DecimalPoint = ".";
     $this->assertEqual("12345.67", OA_Admin_NumberFormat::unformatNumber("12.345,67"));
     //test "," as decimal separator
     $this->assertEqual("12345.67", OA_Admin_NumberFormat::unformatNumber("+12,345.67"));
     //test "+" symbol
     $this->assertEqual("12345.67", OA_Admin_NumberFormat::unformatNumber("12 345.67"));
     //test " " as thousands separators
     $this->assertEqual("-12345678", OA_Admin_NumberFormat::unformatNumber("-12,345,678"));
     //test "-" symbol
     $this->assertEqual("12345678", OA_Admin_NumberFormat::unformatNumber("  12.345.678  "));
     //test white spaces
     $this->assertFalse(OA_Admin_NumberFormat::unformatNumber("12.34.567"));
     //test missing numeral between thousands separators
     $this->assertEqual(".123", OA_Admin_NumberFormat::unformatNumber(".123"));
     //decimal separator at begining
     $this->assertEqual(".123", OA_Admin_NumberFormat::unformatNumber(",123"));
     //decimal separator at begining
     //test hazard situations; results are determined by default decimal separator
     $this->assertEqual("1234", OA_Admin_NumberFormat::unformatNumber("1,234"));
     $phpAds_DecimalPoint = ",";
     //set default decimalPoint
     $this->assertEqual("1.234", OA_Admin_NumberFormat::unformatNumber("1,234"));
     //single dot always as decimal point!
     $this->assertEqual("1.234", OA_Admin_NumberFormat::unformatNumber("1.234"));
     //clean up
     if (isset($remember_phpAds_DecimalPoint)) {
         $phpAds_DecimalPoint = $remember_phpAds_DecimalPoint;
     } else {
         unset($phpAds_DecimalPoint);
     }
 }
/**
 *
 * Correction revenue from other formats (23234,34 or 23 234,34 or 23.234,34)
 * to format acceptable by is_numeric (23234.34)
 *
 * @param array $aFields  Array of exported form fields
 * @param array $errors  Array of pear errors
 * @param String $field  Numeric field which will be checked and converted
 * @param String $errrorString     Error string used in case format of the field is not correct
 */
function correctAdnCheckNumericFormField($aFields, $errors, $field, $errrorString)
{
    $corrected = OA_Admin_NumberFormat::unformatNumber($aFields[$field]);
    if ($corrected !== false) {
        $aFields[$field] = $corrected;
    }
    if (!empty($aFields[$field]) && !is_numeric($aFields[$field])) {
        // Suppress PEAR error handling to show this error only on top of HTML form
        PEAR::pushErrorHandling(null);
        $errors[] = PEAR::raiseError($GLOBALS[$errrorString]);
        PEAR::popErrorHandling();
    }
}