Uurloon Berekening

stemmen
1

Ik heb een database tabel als volgt uit:

wagetable
 name     lowhours  highhours  wage 
 Default  0         40         10   
 Default  40        9999       15   
 Brian    0         40         15   
 Brian    40        50         20   
 Brian    50        9999       22   
 Chad     0         40         13   
 Chad     40        9999       17 

Als 'Brian' werkte 43.5151587 uur, wil ik het om erachter te komen dat hij maakte (40 * 15) + (3,5151587 * 20) = 670,303174.

Dit is een SQLite database, dus ik weet dat ik zal gebruiken:

SELECT wage FROM wagetable WHERE name LIKE 'Brian' AND 'HourNum' BETWEEN lowhours AND highhours;

Met een combinatie van verdieping en% ... Ik ben gewoon niet het samenstellen van de logica in mijn hoofd.

Let op antwoorden in C # en PHP geaccepteerd, omdat ik de logica kan omzetten naar wat ik nodig heb. Ik ben op zoek naar pseudo-code, maar wordt getrokken uit de antwoorden accepteren

Edit: let op ... De gewerkte uren zal nooit een exacte integer te zijn, waarom ik laat overlappen gebeuren.

Edit2:

Ik wil een medewerkers totaal aantal gewerkte uren (voorbeeld: 43,5151587) en dan beseffen dat de eerste 40 uur, hij was het maken van standaard pay @ $ 15 per uur. dus (40 * 15) ... Dan werkte hij 3,5151587 overuren @ $ 20 per uur. dus (40 * 15) toe te voegen (3,5151587 * 20) ... Het totale bedrag verdiend was 670,303174

De vraag is gesteld op 16/08/2010 om 11:01
bron van user
In andere talen...                            


1 antwoorden

stemmen
0

Van wat ik heb begrepen uit je post (psuedocode):

foreach pay_bracket p:
    if hours > p.length
        pay += p.length * p.pay
        hours -= p.length
    else
        pay += hours * p.pay
        end

Waar lengthis highhours- lowhours(en dat een beloning zijn recht naast elkaar, natuurlijk).

antwoordde op 16/08/2010 om 11:11
bron van user

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more