Sam Stone
08/11/2023, 9:18 AM/**
Given:
old rate = $30/hour
new rate = $37.5/hour
Hours in new rate = 36.72
Total hours = 52.21
Equations:
1/x := 30/37.5 == 37.5/30 = x; x=1.25, so 1 hour of the new rate is worth 1.25 hours in the old rate.
Hours in old rate = total hours - hours in new rate = 52.21 - 32.67 = 15.49
(1.25 * hours worked in new rate) * old rate = equivalent hours in new rate * old rate = salary for hours in new rate
Calculations:
1.25 * 36.72 = 45.9 upscaled hours
45.9 * 30 = $1,377 for hours in new rate
15.49 * 30 = $464.70 for hours in old rate
$1,377 + $464.70 = $1,841.70 total
Check:
36.72 * $37.5 = $1,377 for hours in new rate
15.49 * $30 = $464.70 for hours in old rate
$1,377 + $464.70 = $1,841.70 total
* */
fun calculateHoursInNewRate(oldRatePerHour: Double,newRatePerHour: Double,totalHoursWorked: Double,hoursInNewRateWorked: Double): Double {
val equivalentOfOldHoursWorkedInNewRate = newRatePerHour / oldRatePerHour
val hoursInOldRate = totalHoursWorked - hoursInNewRateWorked
val upscaledHours = equivalentOfOldHoursWorkedInNewRate * hoursInNewRateWorked
val salaryForHoursInNewRateWorked = upscaledHours * oldRatePerHour
val salaryForHoursInOldRateWorked = hoursInOldRate * oldRatePerHour
return salaryForHoursInNewRateWorked + salaryForHoursInOldRateWorked
}Gleb Minaev
08/11/2023, 9:42 AMSam Stone
08/11/2023, 10:44 AMAdrian Trapletti
08/11/2023, 3:01 PM