| <?php | |
| 
 | |
| namespace App\DTO; | |
| 
 | |
| use Spatie\LaravelData\Data; | |
| 
 | |
| class DurationResult extends Data | |
| { | |
|     /** | |
|      * @param int $days | |
|      * @param int $weekDays | |
|      * @param int $weeks | |
|      * @return void | |
|      */ | |
|     public function __construct( | |
|         public int|float $days, | |
|         public int|float $weekDays, | |
|         public int|float $weeks, | |
|     ) { | |
|         $this->days = $this->formatFloat($days); | |
|         $this->weekDays = $this->formatFloat($weekDays); | |
|         $this->weeks = $this->formatFloat($weeks); | |
|     } | |
| 
 | |
|     private function formatFloat(int|float $val): int|float | |
|     { | |
|         if (!is_float($val)) { | |
|             return $val; | |
|         } | |
| 
 | |
|         return (float) number_format($val, 5, '.', ''); | |
|     } | |
| }
 |