-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path3-to-pounds.js
More file actions
51 lines (38 loc) · 1.39 KB
/
3-to-pounds.js
File metadata and controls
51 lines (38 loc) · 1.39 KB
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
// In Sprint-1, there is a program written in interpret/to-pounds.js
// You will need to take this code and turn it into a reusable block of code.
// You will need to declare a function called toPounds with an appropriately named parameter.
// You should call this function a number of times to check it works for different inputs
function toPounds(penceString) {
const penceStringWithoutTrailingP = penceString.substring(
0,
penceString.length - 1
);
const paddedPenceNumberString = penceStringWithoutTrailingP.padStart(3, "0");
const pounds = paddedPenceNumberString.substring(
0,
paddedPenceNumberString.length - 2
);
const pence = paddedPenceNumberString
.substring(paddedPenceNumberString.length - 2)
.padEnd(2, "0");
return `£${pounds}.${pence}`;
}
console.log(toPounds("399p"));
const actualOutput = toPounds("4685p");
const expectedOutput = "£46.85";
console.assert(
actualOutput === expectedOutput,
`expected to get ${expectedOutput}, but got ${actualOutput}`
);
const actualOutput1 = toPounds("123456p");
const expectedOutput1 = "£1234.56";
console.assert(
actualOutput1 === expectedOutput1,
`expected to get ${expectedOutput1}, but got ${actualOutput1}`
);
const actualOutput2 = toPounds("4p");
const expectedOutput2 = "£0.04";
console.assert(
actualOutput2 === expectedOutput2,
`expected to get ${expectedOutput2}, but got ${actualOutput2}`
);