# How to delete duplicates within the list of rules with certain accuracy?

hello!

I know that all my questions are about the same list of rules, but I'm still trying to understand the Wolfram Language logic... So, given the list of rules:

intermediateResult1 = {Subscript[Abx, 3, 5] ->
336.43171954154968261724.526896935319825,
Subscript[Abx, 4, 5] -> 358.70065283775329589844.554732167095748,
Subscript[Abx, 5, 5] -> 378.446739196777343754.578004767586344,
Subscript[Abx, 6, 5] -> 395.41612124443054199224.597054371666505,
Subscript[Aby, 1, 5] -> 36.7817773927636153533.5656327116671127,
Subscript[Aby, 2, 5] -> 33.19137612708436790853.521025258796362,
Subscript[Aby, 3, 5] -> 32.45604896545410156253.5112956499036425,
Subscript[Aby, 4, 5] -> 33.57182502746582031253.5259749509535157,
Subscript[Aby, 5, 5] -> 35.53545188903808593753.5506618425494563,
Subscript[Aby, 6, 5] -> 37.343200683593753.57221153856355,
Subscript[Abx, 2, 1] -> 329.50735664367675781254.517865115179159,
Subscript[Abx, 2, 2] -> 327.69477319717407226564.51546951434628,
Subscript[Abx, 2, 3] -> 323.53376436233520507814.50991961085035,
Subscript[Abx, 2, 4] -> 317.95321226119995117194.502363216991488,
Subscript[Abx, 2, 6] -> 306.27199488918995484714.486107287302384,
Subscript[Aby, 2, 1] -> -45.96020174026489257813.662381926336777,
Subscript[Aby, 2, 2] -> -34.10889339447021484383.532867629683822,
Subscript[Aby, 2, 3] -> -12.65948957204818725593.1024161953723484,
Subscript[Aby, 2, 4] -> 11.92794585227966308593.076565658940116,
Subscript[Aby, 2, 6] -> 44.67054138089224579743.650021215899404,
Subscript[Abx, 3, 5] -> 336.43150138854980468754.5268966537094135,
Subscript[Abx, 4, 5] -> 358.70004940032958984374.5547314364872,
Subscript[Abx, 5, 5] -> 378.446205139160156254.578004154716907,
Subscript[Abx, 6, 5] -> 395.416206359863281254.597054465150702,
Subscript[Abz, 1, 5] -> 1.27107122533197980372.1041698872195984,
Subscript[Abz, 2, 5] -> -8.12480376605526544152.909812880500324,
Subscript[Abz, 3, 5] -> -2.68284416198730468752.428595446598665,
Subscript[Abz, 4, 5] -> 7.20738220214843752.8577775529853255,
Subscript[Abz, 5, 5] -> 11.158439636230468753.0476034683691697,
Subscript[Abz, 6, 5] -> -1.218444824218752.085805867472421,
Subscript[Abx, 2, 1] -> 329.457946777343754.51779998752455,
Subscript[Abx, 2, 2] -> 327.685829162597656254.51545766063914,
Subscript[Abx, 2, 3] -> 323.52355957031254.509905912265384,
Subscript[Abx, 2, 4] -> 317.949134826660156254.502357647559863,
Subscript[Abx, 2, 6] -> 306.27221034865942783654.4861075928243626,
Subscript[Abz, 2, 1] -> -7.560974121093752.87857775160733,
Subscript[Abz, 2, 2] -> -8.537086486816406252.9313096811589183,
Subscript[Abz, 2, 3] -> -10.9277839660644531253.0385321007524007,
Subscript[Abz, 2, 4] -> -11.779960632324218753.071143839076471,
Subscript[Abz, 2, 6] -> 2.99721378591493703422.4767177215014726}


. As you can see, in the list there are some rules, that almost duplicate each other, for example Subscript[Abx, 3, 5] -> 336.43171954154968261724.526896935319825 and Subscript[Abx, 3, 5] -> 336.43150138854980468754.5268966537094135. We've got the difference between them of some value (and in the "program" that I have to create there will always be such a difference). My goal is to delete duplicates with given precision. I realized that with the following code: DeleteDuplicates[SetPrecision[intermediateResult1, 4]] and it works, but the function "SetPrecision" works with all the digits of the number as I understand, but I just need the function working with after point digits. For example, if the values of the rules will be about 10,000 (intermediateResult1 = {Subscript[Abx, 3, 5] -> 12336.431719 and the others will be of the same order) that way won't be useful... I know that there is a function SetAccuracy, but the code DeleteDuplicates[SetAccuracy[intermediateResult1, 4]] doesn't get the result as I need. Can you please explain me how to do it? Also I can imagine that there are fundamentally different ways to implement this (delete duplicates even if the values of the rules are different with certain accuracy).

intermediateResult2 = DeleteDuplicates[intermediateResult1,