Skip to content

Commit 055e578

Browse files
committed
done tp-pounds.js
1 parent bf67d4d commit 055e578

File tree

1 file changed

+53
-3
lines changed

1 file changed

+53
-3
lines changed

Sprint-2/implement/to-pounds.js

Lines changed: 53 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,10 @@
55

66
// You should call this function a number of times to check it works for different inputs
77

8+
// ============================= code from Sprint-1 ===============================
89

910

10-
11-
12-
const penceString = "399p";
11+
const penceString = "399";
1312

1413
const penceStringWithoutTrailingP = penceString.substring(
1514
0,
@@ -28,5 +27,56 @@ const pence = paddedPenceNumberString
2827

2928
console.log(${pounds}.${pence}`);
3029

30+
// ================= Converted as reusable block of code ========================
31+
32+
function convertPenceToPounds(priceAmount) {
33+
const numberwithoutpence = priceAmount.substring(0, priceAmount.length - 1);
34+
const paddedPenceNumberString = numberwithoutpence.padStart(3, "0");
35+
const pounds = paddedPenceNumberString.substring(
36+
0,
37+
paddedPenceNumberString.length - 2
38+
);
39+
const pence = paddedPenceNumberString
40+
.substring(paddedPenceNumberString.length - 2)
41+
.padEnd(2, "0");
42+
43+
return ${pounds}.${pence}`;
44+
}
45+
46+
priceAmount = "999p"
47+
48+
console.log(convertPenceToPounds(priceAmount));
49+
50+
51+
// ==================== function handling decimal inputs ========================
52+
53+
priceAmounts = "5.23p";
54+
55+
function convertPenceToPound(priceAmounts) {
56+
const cleanInput = priceAmounts.substring(0, priceAmounts.length - 1);
57+
58+
if (cleanInput.includes(".")) {
59+
const [pounds, pence] = cleanInput.split("."); //destructuring;
60+
const formattedPence = pence.padEnd(2, "0");
61+
return ${pounds}.${formattedPence}`;
62+
} else {
63+
// Handle the integer case (e.g., "399p")
64+
const paddedPenceNumberString = cleanInput.padStart(3, "0");
65+
const pounds = paddedPenceNumberString.substring(
66+
0,
67+
paddedPenceNumberString.length - 2
68+
);
69+
const pence = paddedPenceNumberString
70+
.substring(paddedPenceNumberString.length - 2)
71+
.padEnd(2, "0");
3172

73+
return ${pounds}.${pence}`;
74+
}
75+
}
3276

77+
console.log(convertPenceToPound(priceAmounts)); // "£5.23"
78+
console.log(convertPenceToPound("399p")); // "£3.99"
79+
console.log(convertPenceToPound("3.99p")); // "£3.99"
80+
console.log(convertPenceToPound("50p")); // "£0.50"
81+
console.log(convertPenceToPound("5.5p")); // "£5.50"
82+
console.log(convertPenceToPound("0.3p")); // "£0.30"

0 commit comments

Comments
 (0)