Project: Wettelijke rente berekenen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Lead developer (PHP, Symfony, DDD)

Functie Als Lead developer zorg je ervoor dat het team (bestaande uit zowel junior als ervaren developers) in staat is om de kwaliteit van de software (en code) verder te verhogen. In samenwerking met het team, de product owner en de andere lead developers zet je technische lijnen uit en bepaal je de prioriteiten per sprint. Lijkt het jou interessant om complexe problemen op te lossen en bijvoorbeeld een nieuwe applicatiestructuur in Symfony op te zetten? Dan komen wij graag met je in contact. Eisen • HBO werk- en denkniveau (ze kijken niet naar papieren, maar naar denkniveau, motivatie en

Bekijk vacature »

(Junior) PHP Ontwikkelaar bij een retail bedrijf i

Bedrijfsomschrijving Ben jij een ervaren PHP ontwikkelaar met een passie voor retail en ICT? Wil jij werken in een team dat zich bezighoudt met het ontwikkelen van uitdagende applicaties voor een groot retailbedrijf in Delft? Dan zijn zij op zoek naar jou! Functieomschrijving Als PHP Ontwikkelaar werk je in een team aan de ontwikkeling van applicaties die door de gehele organisatie worden gebruikt. Je bent verantwoordelijk voor het ontwikkelen, testen en implementeren van deze applicaties. Je werkt hierbij nauw samen met andere ontwikkelaars, projectmanagers en stakeholders binnen de organisatie. Je taken bestaan onder andere uit: Ontwikkelen van nieuwe functionaliteiten en

Bekijk vacature »

C#.NET developer

Functie Het development team bestaat momenteel uit vijf backend C#/.NET ontwikkelaars. Op dit moment zit één ontwikkelaar dedicated op de mobiele applicatie. Als team werk je samen aan het zelf ontwikkelde software platform. Dit bestaat uit zowel apps als websites. Om het systeem door meer dan honderdduizenden gebruikers wordt gebruikt is het bijna vanzelfsprekend dat de kwaliteit van het product hoog moet liggen. Het systeem bestaat uit drie projecten. Je werkt dus aan deze drie projecten waarbij de focus op z’n tijd verschuift. De technieken die worden toegepast zijn o.a. .NET Core, Xamarin, C# en MVC. Je zal dus met

Bekijk vacature »

Junior .NET developer

Functie Jij hebt natuurlijk net jouw Bachelor op zak en gaat nu voor het eerst aan de slag bij een werkgever als junior .NET ontwikkelaar. Waarschijnlijk lijkt het jou spannend om ineens aan de slag te gaan bij klanten in de consultancy. Maak je niet druk, jij komt hier terecht in een warm bad en wordt totaal niet in het diepe gegooid. Zodra jij hier begint wordt jij gekoppeld aan een persoonlijke manager met een persoonlijk ontwikkelplan. Jij krijgt een scala aan trainingen, denk aan trainingen ten behoeve van het opdoen van zelf kennis en gedragscompetenties, maar ook trainingen voor

Bekijk vacature »

PHP Developer

Zie jij mogelijkheden om onze tooling technisch te verbeteren en uit te bouwen? Over Jobmatix Jobmatix is een innovatieve en internationale speler op het gebied van jobmarketing. Onze jobmarketing automation tool helpt organisaties bij het aantrekken van nieuw talent door vacatures digitaal, geautomatiseerd en op een efficiënte manier te adverteren en onder de aandacht te brengen bij de doelgroep op 25+ jobboards. Volledig performance-based, waarbij organisaties betalen op basis van cost per click of cost per applicant. Maandelijks wordt onze jobmarketing automation tool al gebruikt door vele directe werkgevers, intermediairs en mediabureaus, waaronder Picnic, Rijkswaterstaat, AdverOnline, Schiphol, DPA, Teleperformance en

Bekijk vacature »

Medior/senior Fullstack developer

Functie Onder begeleiding van 3 accountmanagers waarvan er 1 binnen jouw expertise je aanspreekpunt zal zijn ga je aan de slag bij diverse opdrachtgevers. Hij of zij helpt je bij het vinden van een passende en uitdagende opdracht. Hierin houden ze uiteraard rekening met jouw situatie, ervaring en (technische) ambities. De opdrachten duren gemiddeld één tot 2 jaar. Hierdoor kun je je ook echt vastbijten in een project en als consultant impact maken. Naast de opdracht ben je regelmatig met je collega’s van de IT-afdeling om bijvoorbeeld onderlinge kennis te delen, of nieuwe trends te bespreken. Ook worden er regelmatig

Bekijk vacature »

SQL database developer

Functie omschrijving Voor een softwarebedrijf gespecialiseerd in het ontwikkelen van logistieke software in omgeving Tilburg zijn wij op zoek naar een ervaren SQL database developer. Je gaat werken aan uitdagende, complexe projecten. Iedere klant/project betekent maatwerk in de database. Jouw werkzaamheden zullen er als volgt uit zien: Je bent verantwoordelijk voor de gehele ontwikkelstraat. Van architectuur tot ontwikkeling Je gaat je bezig houden met het ontwerpen en ontwikkelen van MS SQL server databases. Je gebruikt hiervoor T-SQL als programmeer laag. Je begeleidt als lead developer de projecten bij klanten van A – Z. Je sluit aan bij meetings met klanten,

Bekijk vacature »

Laravel developer

Zie jij mogelijkheden om onze tooling technisch te verbeteren en uit te bouwen? Over Jobmatix Jobmatix is een innovatieve en internationale speler op het gebied van jobmarketing. Onze jobmarketing automation tool helpt organisaties bij het aantrekken van nieuw talent door vacatures digitaal, geautomatiseerd en op een efficiënte manier te adverteren en onder de aandacht te brengen bij de doelgroep op 25+ jobboards. Volledig performance-based, waarbij organisaties betalen op basis van cost per click of cost per applicant. Maandelijks wordt onze jobmarketing automation tool al gebruikt door vele directe werkgevers, intermediairs en mediabureaus, waaronder Picnic, Rijkswaterstaat, AdverOnline, Schiphol, DPA, Teleperformance en

Bekijk vacature »

Back end Node.js developer

Functie Het ontwikkelteam bestaat momenteel uit 5 (back-end) Developers, 2 systeembeheerders, 1 DevOps engineer, 1 Tech Lead en 2 Scrum Masters. Samen wordt er doorontwikkeld aan twee SaaS-platformen die in een hoog tempo doorontwikkeld moeten worden. Omdat innovatie een belangrijk speerpunt binnen de organisatie is, wordt er ook continu naar snellere en slimmere oplossingen te bedenken en realiseren. Als Back-end Developer hou jij je dagelijks bezig met vraagstukken zoals: API-development, high volume datastromen, het ontwikkelen van Bots aan de hand van A.I. Daarnaast denk en werk jij mee aan de onlineapplicaties voor klanten. Er wordt zelfstandig en in teamverband gewerkt

Bekijk vacature »

Database Developer

Functieomschrijving Heb jij ongeveer 3 jaar ervaring als Database Developer met MS SQL of een vergelijkbare database? Wil jij werken voor een ambitieuze werkgever in regio Tilburg waar jij volledig de mogelijkheid krijgt jezelf te ontwikkelen? Lees dan snel verder! Hoe ziet jouw takenpakket eruit? Je gaat projecten gedurende het hele proces begeleiden. Je sluit aan bij afspraken met klanten om hun processen helder te krijgen. Vervolgens voer jij het project uit en zorgt dat dit zo goed mogelijk verloopt; Je werkt aan nieuwe softwareoplossingen die de logistieke processen verbeteren of vernieuwen; Je houdt je bezig met het ontwikkelen van

Bekijk vacature »

Software developer - C Sharp

Functie omschrijving Voor een opdrachtgever, met een prachtig kantoor in omgeving Wateringen zijn wij op zoek naar een software ontwikkelaar die graag werkt met C#, JAVA of Oracle. Heb jij interesse in het programmeren en ontwikkelen van software? En heb jij enige ervaring met Oracle databases en PL/SQL? Als software developer werk je met je collega's samen in een leuk en informeel team aan het (her)ontwerpen van bedrijfssystemen. Je houdt je bezig met het ontwikkelen van REST API's en je onderhoudt applicaties in Oracle PL/SQL en APEX. Vind jij het leuk om in een Agile/Scrum omgeving te werken? Wil jij

Bekijk vacature »

Junior Front-End Developer

Je maakt een vliegende start van je carrière, door meteen mee te bouwen aan de digitale oplossingen van Coolblue. Wat doe je als Junior Front-End Developer bij Coolblue? Als Junior Front-End Developer ben je meteen vanaf de start onderdeel van een development team. Je kijkt veel mee met collega’s en volgt trainingen. Op dat moment komt je wil om te blijven leren naar boven. Daarnaast pak je in de sprints ook je eigen stories op om Coolblue iedere dag een beetje beter te maken. Je sterk analytisch vermogen komt dan goed van pas! Ook Junior Front-End Developer worden bij Coolblue?

Bekijk vacature »

Medior C# Developer

You'll build modern applications for Coolblue's back office. We have a lot of friends, and they crave well-structured data and user-friendly, task-focused applications. How do I become a Medior C# Developer at Coolblue? You regularly participate in brainstorm sessions about user experience, data, and task flow with the UX Designer, Product Owner, and Data Scientists in your team. Besides that you will create disconnected, highly congruent, and testable code that can easily be maintained and is future-proof. Want to become C# Developer at Coolblue? Read below if the job suits you. You enjoy doing this Working with various types of

Bekijk vacature »

Fullstack Developer TOTO

Do you want to work with the latest technologies on the development of new systems and applications? Get moving and strengthen Nederlandse Loterij as a Fullstack Developer TOTO. Thanks to your efforts, complex business critical applications are always running smoothly. In this way, you directly contribute to a happy, healthy and sporty Netherlands. As a Fullstack Developer you score by: Taking ownership of the development cycle of an application in a large scale, high availability, geo redundant landscape Coaching your peer developers and safeguarding code quality Integrating the application with other components of the system using the available API’s Managing

Bekijk vacature »

Pagina: 1 2 volgende »

The Ultimate

The Ultimate

29/01/2009 14:14:00
Quote Anchor link
Dag forumleden,

Ik ben bezig met een script om de wettelijke rente te berekenen. Op internet kom je dit al wel tegen in javascript maar aangezien ik daar geen verstand van heb probeer ik het voor mijn site (www.rechtenstudent.net) - die binnenkort geheel vernieuwd zal worden - in PHP te scripten.

Ik zal hierbij hoogstwaarschijnlijk meerdere malen genoodzaakt zijn jullie hulp in te schakelen vandaar deze intro! Ik zal proberen deze intro steeds verder te updaten zodat ook de nieuwste vraag hierin te vinden zal zijn.

Het script zal als volgt moeten gaan werken:
- Men voert een begindatum, einddatum en hoofdsom in en drukt op verzenden;
- Berekenen aantal dagen tussen start_date en end_date;
- Berekenen specifieke rentepercentages per periode (rente verschilt per periode);
- Opslag berekenen (eens per jaar wordt de rente bij de hoofdsom opgeteld en wordt vervolgens met die gemuteerde hoofdsom verder gerekend);
- De totale rente, totale opslag (mutatie) en totale hoofdsom incl mutatie wordt weergegeven;



Dit is het script tot nu toe:

VERSIE 1.1.5
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
        <form method="post" action="wettelijkerente.php?action=bereken_rente">
        <p>Startdatum:</p>
        <select name="start_day" style="width:50px;">
            <option value="01">01</option>
            <option value="01">31</option>
        </select>
        <select name="start_month" style="width:200px;">
            <option value="01">Januari</option>
            <option value="12">December</option>
        </select>
        <select name="start_year" style="width:100px;">
            <option value="2002">2002</option>
            <option value="2009">2009</option>
        </select>
<br />
        <p>Einddatum:</p>        
        <select name="end_day" style="width:50px;">
            <option value="01">01</option>
            <option value="01">31</option>
        </select>
        <select name="end_month" style="width:200px;">
            <option value="01">Januari</option>
            <option value="12">December</option>
        </select>
        <select name="end_year" style="width:100px;">
            <option value="2002">2002</option>
            <option value="2009">2009</option>
        </select>
<br />
        <p>Hoofdsom:</p>
        <input type="text" name="hoofdsom" value="00,00" />
<br />
        <input type="submit" value="Bereken" />
        </form>
<br />
<br />
    
    
    <?php
    
    if($_SERVER['REQUEST_METHOD'] == 'POST' && $_GET['action'] == 'bereken_rente'){

    // Startdag berekenen:
    
    $start_day = $_POST['start_day'];
    $start_month = $_POST['start_month'];
    $start_year = $_POST['start_year'];
    
    if(checkdate($start_month,$start_day,$start_year) == 'TRUE'){
        $start_date = $start_year . '-' . $start_month . '-' . $start_day;
    }
else{
        $error .= "De ingegeven startdatum is niet juist.<br />";
    }

    
    $startdag = date('z', strtotime($start_date)) + 1;


    // Einddag berekenen:
    
    $end_day = $_POST['end_day'];
    $end_month = $_POST['end_month'];
    $end_year = $_POST['end_year'];
    
    if(checkdate($end_month,$end_day,$end_year) == 'TRUE'){
        $end_date = $end_year . '-' . $end_month . '-' . $end_day;
    }
else{
        $error .= "De ingegeven einddatum is niet juist.<br />";
    }

    
    $einddag = date('z', strtotime($end_date)) + 1;
    
    
    // Verschil in dagen berekenen:    
    $dagen = (strtotime($end_date) - strtotime($start_date)) / (60 * 60 * 24);


    // Invoerdata vergelijken met data rentepercentages uit db:
    




    // Uitvoer:

    echo 'Start date: ' . $start_date . '<br />';
    echo 'End date: ' . $end_date . '<br />';
    echo 'Startdag: ' . $startdag . '<br />';
    echo 'Einddag: ' . $einddag . '<br />';
    echo 'Aantal dagen verschil: ' . $dagen . '<br />';
            
        if(!empty($error)){
            echo '<br /><br />Fout:<br />' . $error;
        }
    }

    
    ?>


Log:
29-01-2009 15u16m - aantal dagen verschil toegevoegd.
29-01-2009 17u10m - <form> aangepast.
29-01-2009 17u12m - php-script aangepast.

HUIDIG PROBLEEM:
Het bepalen welke dagen van de ingegeven start en end date in welke rente periode vallen en het berekenen van de bijbehorende rente per periode.
Gewijzigd op 01/01/1970 01:00:00 door The Ultimate
 
PHP hulp

PHP hulp

22/12/2024 06:49:43
 
Arjan Kapteijn

Arjan Kapteijn

29/01/2009 14:20:00
Quote Anchor link
Je zou met een explode() die dd-mm-yyyy uit elkaar kunnen trekken. Maar het is wellicht gebruikersvriendelijker om 3 aparte velden te maken, wellicht zelfs dropdows met alle maanden.

En mbt tot wat mogelijk is met PHP, ik denk dat we zelfs het ISS op PHP kunnen laten lopen als we maar genoeg tijd krijgen ;).
 
RvW Of toch niet

RvW Of toch niet

29/01/2009 14:22:00
Quote Anchor link
Bart schreef op 29.01.2009 14:14:
Dag forumleden

klinkt mij vrij complex in de oren want je hebt het over verschillende rentes en verschillende periodes.
dus je ken ook met 2 rente tarieven te maken krijgen.

het eerste wat ik me afvroeg ga je die rentes per periode op slaan ?
hoe had je dat in gedachten te gaan doen ?
 
The Ultimate

The Ultimate

29/01/2009 14:31:00
Quote Anchor link
@Arjan:
Wellicht is dat een goed idee. Dan kan er ook niets fout gaan met de invoer, behalve dat men bijvoorbeeld in februari kiest voor 31 dagen.....heb jij daar een oplossing voor?

@rvw:
Er zijn inderdaad meerdere renteperiodes. Deze veranderen zo'n 2 keer per jaar. Mijn idee was om deze per periode op te slaan in een databasetable (dus: start_date, end_date en rentepercentage). Lijkt dit wat?
 
Joren de Wit

Joren de Wit

29/01/2009 14:32:00
Quote Anchor link
Wat betreft je eerste vraag: is het niet slimmer om eerst de effectieve rente over de betreffende periode uit te rekenen voordat je überhaupt met de hoofdsom gaat werken?

En voor wat betreft je tweede vraag sluit ik me aan bij Arjan. Gebruik select boxen voor het invoeren van de datum, dat beperkt de mogelijkheid tot foute invoer en scheelt jou weer een aantal stappen in PHP.

ps. Gebruik checkdate() om te controleren of een datum wel klopt..
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
 
Arjan Kapteijn

Arjan Kapteijn

29/01/2009 14:40:00
Quote Anchor link
Wat je kunt doen is eerst vragen om de jaren, vervolgens de maanden en aan de hand van die gegevens kan je een range() maken waaruit de dagen gekozen kunnen worden.

Of je checked het achteraf met de checkdate() en geeft daar een melding van terug.
 
The Ultimate

The Ultimate

29/01/2009 14:55:00
Quote Anchor link
UPDATE:

- checkdate() toegevoegd.

- versienr erboven geplaatst, zodat men in de gaten kan houden of het script is gewijzigd. Ik blijf namelijk in het origineel wijzigingen aanbrengen.

- onderaan originele topic zal het HUIDIGE PROBLEEM worden weergegeven waar ik op dat moment mee worstel.
Gewijzigd op 01/01/1970 01:00:00 door The Ultimate
 
Arjan Kapteijn

Arjan Kapteijn

29/01/2009 15:01:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$dagen
= (strtotime("2005-11-20") - strtotime(date("Y-m-d"))) / (60 * 60 * 24);
?>


Maar er zullen ongetwijfeld meerdere oplossingen voor te verzinnen zijn.
 
The Ultimate

The Ultimate

29/01/2009 15:20:00
Quote Anchor link
@Arjan:
Jouw dagen verschil berekening is toegevoegd.

Volgende probleem is het opzetten van een databasetable met daarin de rentepercentages per periode zodat we deze vervolgens naar de ingegeven start_date en end_date kunnen leggen.
 
Arjan Kapteijn

Arjan Kapteijn

29/01/2009 15:23:00
Quote Anchor link
Ik denk dat je beter eerst op papier kunt zetten hoe die rentepercentages per periode opgebouwd zijn. Ik neem aan dat ik mij daar zoiets bij voor moet stellen?

- dag 1 t/m 5 = 4%
- dag 6 t/m 12 = 4,2%
etc etc
 
The Ultimate

The Ultimate

29/01/2009 15:25:00
Quote Anchor link
@Arjan:
Goed dat je het vraagt want die rentepercentages zijn anders opgebouwd:

Per 2002-08-08 7.00 %
Per 2002-12-01 10.35 %
Per 2003-01-01 9.85 %
Per 2003-07-01 9.10 %
Per 2004-01-01 9.02 %
Per 2004-07-01 9.01 %
Per 2005-01-01 9.09 %
Per 2005-07-01 9.05 %
Per 2006-01-01 9.25 %
Per 2006-07-01 9.83 %
Per 2007-01-01 10.58 %
Per 2007-07-01 11.07 %
Per 2008-01-01 11.20 %
Per 2008-07-01 11.07 %
Per 2009-01-01 9.50 %

Hoe zet je dit nu het best in een databasetable?

Zoiets denk ik:
CREATE TABLE rente (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
percentage VARCHAR(10),
start DATE,
end DATE
);

Alleen weet ik niet of percentage VARCHAR wel handig is. Kan dit niet beter INT of DOUBLE zijn?
Gewijzigd op 01/01/1970 01:00:00 door The Ultimate
 
Joren de Wit

Joren de Wit

29/01/2009 15:58:00
Quote Anchor link
Om te beginnen is een percentage een decimaal getal, dus dat zou een DECIMAL worden. Verder zit je met je begin- en einddatum wel goed...
 
The Ultimate

The Ultimate

29/01/2009 16:03:00
Quote Anchor link
Dit is de table voorlopig:

CREATE TABLE `rente` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`percentage` DECIMAL NOT NULL ,
`start_date` DATE NOT NULL ,
`time_secs` INT( 255 ) NOT NULL COMMENT 'the number of seconds since January 1 1970 00:00:00 UTC'
) ENGINE = MYISAM ;

@Blanche:
Ik heb er DECIMAL van gemaakt. Overigens heb ik niet gekozen voor een einddatum, dit omdat het voor problemen kan zorgen met het rekenen ermee. Ik denk namelijk dat de beste manier is om te kijken of een bepaalde datum via strtotime() groter is dan time_secs in de ene row en kleiner dan een time_secs uit een andere row. Eigenlijk heb je dan dus ook de 'start_date' niet nodig, maar ja....

Als jij hier anders over denkt dan hoor ik dat uiteraard ZEER graag...!!
 
Joren de Wit

Joren de Wit

29/01/2009 16:24:00
Quote Anchor link
Dat je een kolom end_date niet nodig hebt, valt inderdaad te beargumenteren. De end_date zou immers samen vallen met een start_date van een ander record.

Maar de kolom time_secs zou ik wel overboord kieperen. Het lijkt misschien leuk om die waarde in je tabel te hebben staan, maar je kunt dit net zo goed berekenen op het moment dat je hem nodig hebt.

Verder zou ik de meeste van je berekeningen wat betreft datums, verplaatsen naar je sql queries. Rekenen met data en tijdens is nu eenmaal veel eenvoudiger in de database dan in PHP. Om nu verder te gaan, zou de volgende tabel dus voldoen:

rente
------
id
percentage DECIMAL
start_date DATE

Als je nu enkel on-the-fly berekeningen wilt uitvoeren is het nog niet nodig om de ingevoerde perioden (en hoofdsommen) op te slaan. Maar het zou kunnen dat je later besluit om deze gegevens toch op te slaan, al is het maar voor de statistiek. Vanuit dat oogpunt zou ik dan ook voor de InnoDB engine kiezen ipv MyISAM, dan ben je later in staat om er een relationele database van te maken.

Tenslotte nog een punt. Je geeft wel een lijst met percentages per periode, maar hoe worden die rentes toegepast? Is dat het rentepercentage per dag in die periode of is dat het percentage over de gehele periode. En verder, zoals ik ook al opmerkte in mijn vorige post, denk ik dat het verstandiger is om eerst de effectieve rente op jaarbasis te berekenen voordat je met de hoofdsom gaat rekenen.
 
RvW Of toch niet

RvW Of toch niet

29/01/2009 16:25:00
Quote Anchor link
Bart schreef op 29.01.2009 16:03:
Dit is de table voorlopig:


ik dacht juist precies anders om je hebt geen eind tijd nodig....
want starttijd heb je juist wel nodig!
want het is namelijk van af en bepaalde datum tot NOW()
 
Joren de Wit

Joren de Wit

29/01/2009 16:26:00
Quote Anchor link
rvw schreef op 29.01.2009 16:25:
want het is namelijk van af en bepaalde datum tot NOW()
Niet noodzakelijk, zie ook de operking daarover in mijn vorige post ;-)
 
The Ultimate

The Ultimate

29/01/2009 16:48:00
Quote Anchor link
@Blanche:
Heb de table naar jouw advies gemaakt. Ik heb de ENGINE veranderd (weet hier zelf weinig vanaf, maar geloof je direct).

Wat betreft de rentepercentages: daar ben ik nog niet helemaal zeker van hoe deze dienen te worden berekend. Ik ben geen wiskundige en hoop dat iemand weet wat de juiste manier daartoe is.

Zelf zit ik aan zoiets te denken:

(aantal dagen / 365) * percentage = rente tot aan einde renteperiode

+

(aantal dagen / 365) * percentage = rente tot aan einde renteperiode

+

(aantal dagen / 365) * percentage = rente tot aan end_date
Gewijzigd op 01/01/1970 01:00:00 door The Ultimate
 
Joren de Wit

Joren de Wit

29/01/2009 17:23:00
Quote Anchor link
Hehe nee, het berekenen van rentes zit iets ingewikkelder in elkaar. Vandaar dat ik ook vroeg op wat voor basis die rentes gesteld zijn, dus rente per dag in de betreffende periode of dat het genoemde percentage de rente over de hele periode is.

En bovendien hangt het er ook zeker vanaf welk bedrag je als basis voor de geldende rente percentages neemt. Verreken je de verkregen rente direct in het basisbedrag of doe je dat slechts op 1 moment en gebruik je dus hetzelfde basisbedrag.

Een aantal kleine voorbeeldjes om de verschillen aan te duiden (2 perioden met percentages van resp. 4% en 5%, basisbedrag 1000):

- Rentepercentage geldt per periode, basisbedrag wordt telkens bijgesteld:
Effectieve rente: 1.04 * 1.05 = 1.092 (= 9.2%)
Uiteindelijke som: 1.092 * 1000 = 1092 (= +92)

- Rentepercentage per periode, basisbedrag niet bijgesteld maar pas aan einde verwerkt:
Effectieve rente: 4% + 5% = 9%
Uiteindelijke som: 1.09 * 1000 = 1090 (= +90)

En zo kun je nog wel even door gaan met voorbeelden van als de rente bijvoorbeeld per dag zou gelden. En je kunt je ook wel voorstellen wat voor invloed dat kan hebben op de uitkomst. Het lijkt me dus wel slim om voor jezelf vast te stellen hoe die rente nu precies berekend moet worden ;-)
 
The Ultimate

The Ultimate

29/01/2009 17:34:00
Quote Anchor link
Je moet inderdaad onderscheid maken tussen rente met bijvoorbeeld een periodieke (jaarlijkse) opslag en cumulatieve rente (renteopslag per dag).

De renteopslag (zoals ik dat noem) die vindt eens per jaar plaats en wel precies 1 jaar na de start_date, dus:

hoofdsom = 200.00
start_date = 25-11-1981
renteopslag = 25-11-1982

bij een rentepercentage van 7% reken je dus vanaf 25-11-1982 met een hoofdsom van 214.00 lijkt mij.
Gewijzigd op 01/01/1970 01:00:00 door The Ultimate
 
Stephan Vierkant

Stephan Vierkant

14/09/2011 12:41:47
Quote Anchor link
Ik ben nu op zoek naar hetzelfde script. Is er al ergens een script verschenen? Ben benieuwd!
 
Jorgen dijk

jorgen dijk

07/04/2014 12:50:04
Quote Anchor link
Misschien dat je hier iets aan hebt.
Zelf ben ik ook bezig met een scrip hiervoor.
Helaas kan ik dit niet tonen omdat deze gekoppeld word met ons systeem.
Wel heb ik onderaan een stukje toegevoegd om een csv bestand uit te lezen.
Dit kan je gebruiken om de wettelijke rente van wettelijkerente.net af te halen.


startbedrag: 1000,-
Jaarrente: 7.75%
Aantal dagen te laat betaald: 31 dagen

31 / 365 X (0.0775 X 1000) = 6.58

!--0,0849315068493151 X 77.5 = 6,582191780821918--!

onderste berekening is wat werkelijk gebeurd.
Het bedrag wordt afgerond.


wanneer aantal dagen te laat groter is dan 365 dan:
aantal dagen te laat betaald: 380
Jaarrente jaar 2011: 7.75%
Jaarrente jaar 2012: 5.25%

----------------------------2011---------------------------------
365 X (0.0775 X 1000) = 77.5
77.5 + 1000 = 1077.5

----------------------------2012--------------------------------- 15 / 365 X (0.0525 X 1077.5) = 2.33

!--0,0410958904109589 X 56,56875 = 2,324743150684932--!

Waarbij het eindbedrag komt op:

1077.5 + 2.33 = 1079,83


2012 is een schrikkeljaar dus bovenstaande berekening klopt niet.
Als schrikkeljaar 1 is dan is een jaar: 366
Met gevolgen dat de berekening er zo uit ziet:

----------------------------2011---------------------------------
365 X (0.0775 X 1000) = 77.5
77.5 + 1000 = 1077.5
----------------------------2012---------------------------------
15 / 366 X (0.0525 X 1077.5) = 2.32

!--0,040983606557377 X 56,56875 = 2,318391393442623--!

Waarbij het eindbedrag komt op:

1077.5 + 2.32 = 1079,82

------ Het stukje script ----
$fp = fopen("$filename","r");
$rente = array();
$x = 0;
while(! feof($fp))
{
$rente[$x] = fgetcsv($fp,"0",";");
$x++;
}
fclose($fp);
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.