Grafana displays hexadecimal representation of elasticsearch long value incorrectly?

I have not tested if the same thing happens with other datasources, but using elasticsearch as a datasource, and Grafana 4.4.1 (commit: 6a9f8ca), I am getting a data field:

     "ID": {
        "type": "long"

I created a table showing this id, and applied a column style of “Type”=“Number”, and “Unit”=“hexadecimal”, and “Decimals”="". I frequently (maybe always, unsure), see a slightly wrong hexadecimal value printed.

For example:
1176565402835608143 and 1176565402835608142 are both displayed as 105400000B07E200, when they should be 105400000B07E24F and 105400000B07E24E respectively.


On further investigation, it seems that when I view the 'raw json" data from es, I see the values correctly, but they are truncated to 1176565402835608000 when converted to a number by Grafana. So it seems like Grafana can’t handle numbers larger than 1176565402835608000? Is this correct?

OK, I guess the reason is javascript only has floating point numbers, the largest of which JavaScript can handle is 2^53 – Guess I’ll have to store the hex value as a string.