3
double toDouble(string s) {4
// Strings for each integral, fractional, and repeating part5
string in = "", fn = "", rn = "";10
while (i < s.size() && s[i] != '.') {16
while (i < s.size() && s[i] != '(') {22
while (i < s.size() && s[i] != ')') {30
// Adding integral part31
if (!in.empty()) a = stoi(in);35
// Adding fractional part36
while (i < fn.size()) {37
a = a * 10 + fn[i] - '0';41
// Adding repeating part43
// If repeatig part isn't there then just add 0s54
a = a * 10 + rn[j % rn.size()] - '0';64
bool isRationalEqual(string s, string t) {65
// Find absolute differance till 8 digits after decimal and compar if its67
double ans = abs(toDouble(s) - toDouble(t));68
return ans < 0.000000002;