The expected type for the gross revenue property is a dated monetary value, so it has not only a number, but a currency and a date associated with it. Even if it had a number, your original query wouldn't return the top 100 because it's not sorting them, so you're just getting the first 100 random films.
This query will give you the 100 films with the largest number for gross revenue value, without taking into account currency or inflation:
[{
"type": "/film/film",
"limit": 100,
"name": null,
"id": null,
"/common/topic/image": {
"id": null,
"limit": 1
},
"gross_revenue": [{
"amount": null,
"currency": null,
"valid_date": null
}],
"sort": "-gross_revenue.amount"
}]