I have a float variable and would like to get only the part after the comma, so if I have 3.14. I would like to get 14 as an integer. How can I do that?
See Question&Answers more detail:osI have a float variable and would like to get only the part after the comma, so if I have 3.14. I would like to get 14 as an integer. How can I do that?
See Question&Answers more detail:osYou can subtract the integer portion from the value itself to retrieve the fractional part.
float x = 3.14
float fractionalPortion = x - Math.Truncate(x);
You can then multiply it to get the fractional part represented as an integer at whatever precision you'd like.
Mapping the fractional portion to an integer has some challenges - many floating point numbers cannot be represented as a base-10 integer, and thus may require more digits to represent than an integer can support.
Also, what of the case of numbers like 3.1 and 3.01? Mapping directly to an integer would both result in 1.