Floor rounds input to the larger number not greater than the input so for example 24.12 results 24 , but 24.12 is not an integer. Try checking if contains . or , (in my country for example decimals are separeted with comma)
This probably works but I would prefer to use the solution that returns true / false, not a string value.
Your solution should work so I am going to mark it
Doing this is pointless, I think. Just replace initialize local result to (empty string) from the solution with initialize local result to false. Few blocks less, the same result.
I don't know if there was ever a discussion for/against such a block. I think the argument for would be that it simplifies some things, but the argument against would mainly be to try and keep the blocks language somewhat constrained. I could imagine a good compromise would be modifying the is number? to have a dropdown where you could choose different constraints to check.
FYI, the more appropriate implementation of isInteger would be:
There's no such thing as a hex number in App Inventor. It could be a text block that contains hexadecimal, but technically all number blocks are binary numbers rendered as decimal numbers.