Before you blow money on a new battery I would do this first. Get a voltmeter and test your connections as follows. A bad battery will be detected by a low voltage at the battery terminals (not the cables) while cranking, this will lead to the battery itself being bad. Corroded cable connections will be detected by low voltage at the cable ends. A bad starter motor will draw a high current and the battery cables will get warm to the touch.
All of those things listed above can cause slow cranking when starting your engine. It doesn't absolutely mean that the battery itself is bad. Could save a lot of money here if one of the things above is the issue. Corroded cable connections to the battery are pretty easy to clean if that is the case. Look it up on youtube and follow the instructions on how to clean them properly.