toNano(1e-6) works fine but
toNano(1e-7).toNumber() results in 2377000000000 on my machine.
It seems like it is exactly the reason why one can't send less than 1e-6 TON using the web wallet based on this library - https://ton.app/wallets/web-ton-wallet.
Correct me if I'm wrong, but by the standard one should be able to send less than 1000 nanoTON, despite it doesn't seem like a critical issue.
I know that the average fee is much greater.