i tried to find the exact number that is right on the edge of when a font (more specifically "Lato" (sans-serif)) becomes bold in CSS (font-weight:549; is light while font-weight:550; is bold) and I got 549.99996948242181815658113919198513031005859374999... (the rest is just a repeating 9). now this is most likely very rough and not accurate but it's cool i guess. here's some weird things about it:

7 only appears once in the number

9 is the most common number (13 of them)

every number is in it

it's very specific

only 2 and 4 are the numbers that have the same amount of occurrences as their value (e.g. 2 appears two times, 4 appears four times)

this seems like a floating point moment. probably, anything greater than that number you have found will actually be represented as 550, and that and anything smaller than it will be represented as some number slightly smaller than 550. if you wrote the numbers in binary, it'd be the difference between 1000100101.1111...110 and 1000100101.1111...111. i think.

i assume that's what's going on anyway. it might be something completely unrelated

binary32 floats have around 7 decimals of precision, that matches up. the repeating 9s in the end might be a quirk of how decimals are parsed in that implementation, maybe it only reads the first few digits

a (binary) float is basically a representation of a number a * (2^b) (where a and b are integers), and any fraction with a denominator that is a power of 2 has a terminating decimal representation.

(any rational number can be represented "perfectly" in decimal, possibly with an infinitely repeating sequence of digits, but i assume by "perfectly" amby means "terminating")

(also any decimal that ends with infinite nines is the same as the one obtained by replacing the nines with zeros and then incrementing the digit before the first 9. eg 0.9999... = 1.0. )

I also found another cool number, which is roughly the number right before javascript says "infinity", and thats 179769313486231580793728971405303415079934132710037826936173778980444968292764750946649017977587207096330286416692887910946555547851940402630657488671505820681908902000708383676273854845817711531764475730270069855571366959622842914819860834936475292719074168444365510704342711559699508093042880177904174497791. its very rough and most likely not exact but telling javascript to output this with 1 added to it (you have to add it yourself just adding +1 at the end doesn't change it) but its super huge.