Skip to content

Commit e097316

Browse files
committed
created a toPounds function to return a pounds and pence notation
1 parent a02b0c5 commit e097316

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

Sprint-2/3-mandatory-implement/3-to-pounds.js

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,48 @@
44
// You will need to declare a function called toPounds with an appropriately named parameter.
55

66
// You should call this function a number of times to check it works for different inputs
7+
8+
function toPounds(penceString) {
9+
const penceStringWithoutTrailingP = penceString.substring(
10+
0,
11+
penceString.length - 1
12+
);
13+
14+
const paddedPenceNumberString = penceStringWithoutTrailingP.padStart(3, "0");
15+
const pounds = paddedPenceNumberString.substring(
16+
0,
17+
paddedPenceNumberString.length - 2
18+
);
19+
20+
const pence = paddedPenceNumberString
21+
.substring(paddedPenceNumberString.length - 2)
22+
.padEnd(2, "0");
23+
24+
return ${pounds}.${pence}`;
25+
}
26+
27+
console.log(toPounds("399p"));
28+
29+
const actualOutput = toPounds("4685p");
30+
const expectedOutput = "£46.85";
31+
32+
console.assert(
33+
actualOutput === expectedOutput,
34+
`expected to get ${expectedOutput}, but got ${actualOutput}`
35+
);
36+
37+
const actualOutput1 = toPounds("123456p");
38+
const expectedOutput1 = "£1234.56";
39+
40+
console.assert(
41+
actualOutput1 === expectedOutput1,
42+
`expected to get ${expectedOutput1}, but got ${actualOutput1}`
43+
);
44+
45+
const actualOutput2 = toPounds("4p");
46+
const expectedOutput2 = "£0.04";
47+
48+
console.assert(
49+
actualOutput2 === expectedOutput2,
50+
`expected to get ${expectedOutput2}, but got ${actualOutput2}`
51+
);

0 commit comments

Comments
 (0)