How to put the price 0.0000001$ *10^6? (uint256[]) does not accept 0.1

I want to set the price of the token to 0.0000001$ (in USDT)
For this I take 0.0000001*10^6 = 0.1

I am getting an error.
invalid BigNumber string (argument="value", value="0.1", code=INVALID_ARGUMENT, version=bignumber/5.1.1)

How to insert 0.1 correctly?

No, 0.0000001*10^18 = 10^11.

invalid number value (arg="_prices", coderType="uint256", value="10^11")

Dude, I was trying to explain to you, using pure mathematical notation (i.e., not solidity code), that 0.0000001 times 10^18 is not equal to 0.001, but rather, to 10^11, which is of course an integer value, representable by a uint256.

In short, what you need to do, is to pass something like BigNumber.from("100000000000").

Or perhaps BigNumber.from(10).pow(11), or even BigNumber.from("10e11").

It really depends on what BigNumber implementation you're using.

But following your original question, as well as your response to my answer, I believe that you might wanna study some basic programming concepts before jumping to smart contracts.

I just need to put one correct value.
here is my contract.

  1. updateTokenRate (0x3115329e)

Like I said, the value of 0.0000001*10^18 is 10 to the power of 11 (i.e., "one followed by 11 zeros").

sorry. I made a mistake. I need 0.0000001*10^6 = 0.1