Reputation: 9839
From the docs, AggregatorV3Interface returns..
Return Values
roundId: The round ID.
answer: The price.
startedAt: Timestamp of when the round started.
updatedAt: Timestamp of when the round was updated.
answeredInRound: The round ID of the round in which the answer
was computed.
Also it is stated that answer
is an int256.
I'm getting back the value 120160203575
.
which is the USD as unit8.
How do you format this unit8 into a USD formatted number? (e.g. $1201.00)..formatted with decimal and chopping off the unneeded decimal places?
Upvotes: 1
Views: 606
Reputation: 9839
Figured it out. Chainlink can return decimals
along with the answer.
function getLatestPrice() public view returns (int, uint8) {
(
uint80 roundID,
int price,
uint startedAt,
uint timeStamp,
uint80 answeredInRound
) = priceFeed.latestRoundData();
uint8 decimals = priceFeed.decimals();
return (price, decimals);
}
Upvotes: 1