# 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