I have some bitcoins which values 2.45 USD in my wallet. When I want to send my bitcoins, blockchain (my client) prevents to do it. It tells me that my fee is more than my current balance! I can't understand it! Then how can I use my money ??
Bitcoin fees aren't set as a percentage of the amount being transferred, but based on the number of bytes needed to encode the transaction. In principle you can set any fee that you want, but miners will choose the higher-fee transactions to confirm, and others may never be confirmed. It can be a little tricky to get your money back in that case, depending on the software you are using, so some wallet providers (like blockchain.info) may not let you set a low fee.
According to https://bitcoinfees.earn.com/, the currently recommended fee level is around 0.00000016 BTC/byte. At the current price of $6,663 USD/BTC, that's about US$0.001 per byte. So if your transaction would need to be larger than about 2.5 KB, you can't afford to send it.
In particular, if you received your bitcoins in many small transactions, then in order to spend them, your outgoing transaction has to list all the previous transactions you are spending, with a signature for each one. This requires about 180 bytes each. So, did you receive more than about 12 transactions previously? Or are you attempting to "split" your transaction to send coins to many different destination addresses? That will also increase the transaction size.
There isn't very much you can do about this. It's possible that transaction fees will be lower in the future, but since it's market-based nobody knows for sure. Otherwise, you might as well assume those coins are unusable, and make sure in the future to receive coins in larger increments.