Crowdsale rate

I'm stuck a little bit with rate for crowsdale. Yeah, im already looking to docs. But my head in pain from this numbers with big amount of zeros.

If im use basic 1 rate when i deploy my contracts, price of my token (with 0 decimals) is 1 Wei.
This is ok. When i handle this in web3 im use the same 1.

handleBuyTokens = async () => {
await this.tokenSaleInstance.methods.buyTokens(this.accounts[0]).send({from: this.accounts[0], value: 1});

But i didn't understood how to change price from 1 Wei to 0.1 eth for example.
0.1 eth its 100000000000000000 Wei.

I find a calculator but they want price in USD.
But what the price of usd doing here if we sell tokens for ETH?

Anyone can give me small example how to change rate for 0.1 eth, for rate crowsdale and for web3 call also?
Coz how i understood for now, rate for crowsdale have been 000000000000000001 coz of TKNbits formula, but i can't call this amount from web3.
Need some sleep, maybe.

Maybe you can use web3.utils.toWei('0.1', 'ether'), and for more details, please check the documentation.

web3.utils — web3.js 1.0.0 documentation (