Go to Per Una in M&S and buy a couple of their floaty dresses - you will look just fine.
Try a couple of charity shops, the ones where i live have lots of evening gowns and you can buy a mans dinner suit for £7.50 and they are in good conditio.
You obviously use the internet, so try ebay, I have had new dresses for each of my cruises and the best thing is you can put them back on and get your money back. I had a full beaded evening gown for 99p and it still had the tags on and had not been worn, If you are funny about possibly wearing 2nd hand you can specify NEW in your search.
I also wear dressy black trousers and buy sparkly tops, a lot of ladies do this and it saves on packing.
No need to buy a special dress!! My sister doesn't wear dresses only trousers so she wore for formal night her black trousers and beige blouse with a few sparkles.Any other time it was just smart clothes skirt top etc. As long as it's not your jeans you wear to dinner in the dining room , casual and smart you will be O.K.