# [Ohm], 35 bytes l┼xl2+┼DRîsRl≥al≤Dla°┼îa/ì\?≥;+WD╤k [Try it online!][TIO-j3g2zrcx] Outputs 0 for decimal, 1 for hex and 2 for scientific. Explanation: l Implicit input, get length ┼ Input again x To hex l Get length 2+ Add 2 because of "0x" ┼ Get input again D Duplicate on the stack RîsR Remove zeroes at the end (reverse, to int, to string, reverse) l Get length (= length of base) ≥ Add 1 because to count "e" in the scientific notation a Swap top two values on the stack l≤ Get length - 1 ( = get the exponent of 10 in scientific notation) D Duplicate on the stack l Get length ( = length of the exponent) a Swap. Now on top of the stack we have the exponent again ° 10^exponent ┼î Get input for the fourth time a/ Divide input by the 10^exp calculated earlier ì\? If this thing is not an integer... ≥; ...add one to count the "." + Sum base length ( + "e") + exponent length ( + ".") W Wrap stack in array D Duplicate ╤k Get index of min value [Ohm]: https://github.com/MiningPotatoes/Ohm [TIO-j3g2zrcx]: https://tio.run/##y8/I/f8/59GUPRU5RtpAyiXo8LrioJxHnUsTgcQSl5zEQxuAwofXJeofXhNjDxS31g53eTR1Sfb//4YGCGAIAA "Ohm – Try It Online"