I'll try to answer the question, but first a few thoughts about the question itself.
It mentions only one number, but in many cases, the electricity cost has to be calculated from two numbers depending on different rates you might get from your electricity supplier. If this is the case, you'd have a dual-rate/two-rate electricity meter that have two numbers, so then customers would probably need to enter two numbers for new value and two for old value. It might seem a bit too much to think about this in such an example, but if this was not a task from an exam/school etc., you'd need to think about it, so I'm trying to bring up such a way of thinking even here. In a real situation, you'd also need to come up with expected results for these classes and tested values.
The question doesn't explicitly mention the increment for BVA, but it probably assumes some basic knowledge of electricity meters (saying this, my previous paragraph seem even more valid) that usually don't take any decimal numbers into account when used for counting electricity cost.
Lastly, the question doesn't mention if you should do 2 or 3 value BVA. They will differ in the number of test cases you'll eventually get.
Now about the actual answer and what you've done.
Your partition for BVA is 1 - 100000, but if the condition is 6 digit number, 999999 would meet the condition just as well. Then I don't understand why you have concrete values in some cells, but a range in BVA. Do you want to test for all of these values? That wouldn't be necessary. So in my view, the BVA should look more like this:
range:tested values for 3 value BVA
(-inf., 0):-1, 0
<0, 999999>: 1, 999998, 999999
(999999, inf.): 1000000
So in terms of 3 value BVA, you test 6 values in total.
In terms of EP. You have outlined some partitions, you focused on negative partitions as well, which is necessary. I think we might be able to find out much more interesting test cases for an input field, but that already out of scope for this exercise. However, I'd personally try to at least think about the situation when only one of the pair new value, old value is valid. For example what about if new value is 1500000 and old value is 900. The condition of NV > OV is met, but not the condition of "max 6 digits", so it might be interesting to try out such cases in the real world.