Battery level indicator

i want to make a battery level indicator using arduino of 48v. Need help in programming and what type of sensors should i use and the battery level should be displayed on LCD. Max battery voltage is 54(fully charged) and minimum battery voltage is 46v dc

When you set up your input conditioning, allow at least 10% margin above the max 54V, and implement some protection for when it ‘does’ go higher than that.
Same for the minimum... it will go lower for many reasons, so you must ensure the lack of a supply voltage doesn’t ‘sink’ anything from your monitoring circuit.

I this all the circuit is doing (displaying the battery voltage),it seems like a lot of resources and current drain, when there are task specific chips & modules that won’t flatten your battery when the system is idle.

What should the LCD display? The battery voltage?

I am not sure what your goal is. You use the term 'battery level'. That makes me think you are considering more than just battery voltage. By 'battery level', do you mean 'State of Charge'? SoC calculations are not entirely straight forward. On a simple level, you need to know the total capacity of the battery in Amp/Hours. You need to monitor the rate of discharge so that over time you can compute Amp/Hours used.
Then you divide accumulated Amp/Hours used by the batteries total Amp Hours of capacity to get a percentage value for SoC.
Actual calculations use more data than that, including ambient temp, battery temp, discharge curves and probably many other factors.