Round the digits last digit, over and over Challenge:

Given two inputs, x and y, round x to one less significant figure, then repeat until it has y number of unrounded digits left. (the decimal point does not count as a digit)  

Input &amp; Output

Input can be a combination of strings and integers, e.g. you can have the input as a string and the output as an int, or vice versa.
The input number will never have 15 digits total, and the y will never be greater  than the input number's length and will always be greater than 0.
Example:    

x = 32.64712, y = 3
    32.64712 -&gt; 32.6471 -&gt; 32.647 -&gt; 32.65 -&gt; 32.7  (Three unrounded digits left)

x = 87525, y = 2
    87525 -&gt; 87530 -&gt; 87500 -&gt; 88000 (Two unrounded digits left)

x = 454, y = 3
    454 -&gt; 454 (Three unrounded digits left)


(steps shown just to clarify, you only need to output the last value.)  

Rules


Trailing 0's are allowed
5's round up
Standard loopholes apply


This is code-golf, so you should strive for the shortest answer.
Python 2, 101 97 92 91 85 bytes



lambda x,y:reduce((lambda n,l:int(n/.1**l+.5)*.1**l),range(15,y+~len(`int(x)`),-1),x)


Try it online!



Alternative :
If Python's round would round "half up" instead of "half to even":

Python 2, 57 bytes



lambda x,y:reduce(round,range(15,y-len(`int(x)`)-1,-1),x)


Try it online!