So I know I can convert a string to a hashcode simply by doing .hashCode(), but is there a way to convert (or use some other function if there is one out there) that will instead of returning an integer return a double between 0 and 1? I was thinking of just dividing the number by the maximum possible integer but wasn’t sure if there was a better way.
*Edit (more information about why i’m trying to do this): i’m doing a mathematical operation, and i’m trying to group different objects to perform the same mathematical operation in their group but have a different parameter into the function. each member has a list of characteristics that “group” them… so i was thinking to put the characteristics into a string and then hashcode it and find their group value from that
You couldn’t just divide by
Integer.MAX_VALUE, as that wouldn’t deal with negative numbers. You could use:That should be okay, as far as I’m aware… but I’m not going to make any claims about the distribution. There may well be a fairly simple way of using the 32 bits to make a unique double (per unique hash code) in the right range, but if you don’t care too much about that, this will be simpler.