{"record":{"id":"f4278a403e411e40","repo":"PHPOffice/PhpSpreadsheet","slug":"num-f4278a","errorCode":"#NUM!","errorMessage":"#NUM!","messagePattern":"#NUM!","errorType":"error_code","errorClass":"PhpOffice\\PhpSpreadsheet\\Calculation\\Exception","httpStatus":null,"severity":"error","filePath":"src/PhpSpreadsheet/Calculation/Financial/CashFlow/CashFlowValidations.php","lineNumber":26,"sourceCode":"use PhpOffice\\PhpSpreadsheet\\Calculation\\Information\\ExcelError;\n\nclass CashFlowValidations extends FinancialValidations\n{\n    public static function validateRate(mixed $rate): float\n    {\n        $rate = self::validateFloat($rate);\n\n        return $rate;\n    }\n\n    public static function validatePeriodType(mixed $type): int\n    {\n        $rate = self::validateInt($type);\n        if (\n            $type !== FinancialConstants::PAYMENT_END_OF_PERIOD\n            && $type !== FinancialConstants::PAYMENT_BEGINNING_OF_PERIOD\n        ) {\n            throw new Exception(ExcelError::NAN());\n        }\n\n        return $rate;\n    }\n\n    public static function validatePresentValue(mixed $presentValue): float\n    {\n        return self::validateFloat($presentValue);\n    }\n\n    public static function validateFutureValue(mixed $futureValue): float\n    {\n        return self::validateFloat($futureValue);\n    }\n}\n","sourceCodeStart":8,"sourceCodeEnd":42,"githubUrl":"https://github.com/PHPOffice/PhpSpreadsheet/blob/65b080eef4d9fd11a5796135ab145883e5c3d6a6/src/PhpSpreadsheet/Calculation/Financial/CashFlow/CashFlowValidations.php#L8-L42","documentation":"Error \"#NUM!\" thrown in PHPOffice/PhpSpreadsheet.","triggerScenarios":"Thrown at src/PhpSpreadsheet/Calculation/Financial/CashFlow/CashFlowValidations.php:26 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"65b080eef4d9fd11a5796135ab145883e5c3d6a6","analyzedAt":"2026-08-17T05:40:41.646Z","schemaVersion":2},"datasetVersion":"2026-08-17T09:17:11.063Z"}