Skip to content

Commit 09902db

Browse files
committed
decch, rch1 and rch2 don’t have to be different from each other
1 parent 8714d3b commit 09902db

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

lib/AdvDiv.dart

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,14 @@ String? advdiv(String n1, String n2, [final String minstr = "-", final String de
4545
if(n2[0]==".")
4646
n2 = "0"+n2;
4747

48-
r1 = RegExp(RegExp.escape(rstr1)+r'(.+)'+RegExp.escape(rstr2)).firstMatch(n1)?[1] ?? "0";
49-
n1 = n1.split(rstr1)[0].replaceFirst(RegExp(r'^0+'), "0").replaceFirst(RegExp(r1=="0" ? r'\.0*$' : r'\.$'), "");
50-
r2 = RegExp(RegExp.escape(rstr1)+r'(.+)'+RegExp.escape(rstr2)).firstMatch(n2)?[1] ?? "0";
51-
n2 = n2.split(rstr1)[0].replaceFirst(RegExp(r'^0+'), "0").replaceFirst(RegExp(r2=="0" ? r'\.0*$' : r'\.$'), "");
48+
r1 = n1.contains(rstr1) ? (RegExp(RegExp.escape(rstr1)+r'(.+)'+RegExp.escape(rstr2)).firstMatch(n1.substring(n1.indexOf(".") + 1))?[1] ?? "0") : "0";
49+
if(r1!="0")
50+
n1 = n1.substring(0, n1.indexOf(".") + n1.substring(n1.indexOf(".") + 1).indexOf(rstr1));
51+
n1 = n1.replaceFirst(RegExp(r'^0+'), "0").replaceFirst(RegExp(r1=="0" ? r'\.0*$' : r'\.$'), "");
52+
r2 = n2.contains(rstr1) ? (RegExp(RegExp.escape(rstr1)+r'(.+)'+RegExp.escape(rstr2)).firstMatch(n2.substring(n2.indexOf(".") + 1))?[1] ?? "0") : "0";
53+
if(r2!="0")
54+
n2 = n2.substring(0, n2.indexOf(".") + n2.substring(n2.indexOf(".") + 1).indexOf(rstr1));
55+
n2 = n2.replaceFirst(RegExp(r'^0+'), "0").replaceFirst(RegExp(r2=="0" ? r'\.0*$' : r'\.$'), "");
5256

5357

5458
if(RegExp(r'^[0\.]+$').hasMatch(n2+r2))

0 commit comments

Comments
 (0)