Codesnippets > Math
Is Number Entered a whole number or not?
mrplant:
My brains gone to sleep today.
User enters a number at the keyboard. Its a real number. Say 10.2 or 10.6 or 10.8 or 11.4 - How do I reject any input that isn't a whole exact number?
I am trying to use FMOD but my formula must be dodgy..
Anyone?
erico:
With the INTEGER() command.
Do you need to round it to the closest integer or just get rid of the decimals?
edit: oh wait...do you mean not to accept the number at all if it is not an integer?
mrplant:
I am writing a calculator for doing the change machine at work..
What I am doing is asking the user how many 20p coins they have.
They enter say 6
This makes 0.20 x 6 = 1.20
I want to reject that input and get them to re-enter it. (The machine should always hold an exact not a fractional part of a pound in coins)
valid inputs would be a number of twenty pence coins that come to an exact pound.
A total amount of coins that comes to 1.20 or 1.40 or 1.60 or 1.8 are all invalid.
I know the solution is integer related but my brain has failed me today..
This isn't working properly:
IF INTEGER((TwentyPences*0.20)-INTEGER(TwentyPences*0.20)) <> 0 // If we have a non exact amount here eg 79.80 instead of 80.00 pounds for example.
// Print "(STRANGE TOTAL - PLEASE CHECK MACHINE AGAIN"
Well its working perfectly in fact - just not giving the the results I need lol!
erico:
hmm, that example should work I guess?
But I had my share on integer alien outcomes and am not that good in math at all.
Let´s say, don´t calculate inside the integer command brackets. Can you give that exact idea a try but with variables outside?
mrplant:
Silly me - I was over thinking the problem..
Since I took input in 20pences and 5 make a pound, I just had to look at the modulus after dividing by 5 for my answer...
IF MOD(TwentyPences,5) <> 0 // If remainder of dividing by 5 is not zero, we have a non exact amount here eg 79.80 instead of 80.00 pounds for example.
Navigation
[0] Message Index
[#] Next page
Go to full version