On Saturday, 31 January 2015 at 12:07:23 UTC, RuZzz wrote:
How to get amount of digit after point in a double for to get
integer from a double?
assert(amountAfterPoint(1.456) == 3);
assert(amountAfterPoint(0.00006) == 5);
How about a loop like
import std.stdio;
void main(){
writefln("%s", 1.45.numDigits);// prints 2
writefln("%s", 1.452343.numDigits);// prints 6
writefln("%s", 1.0.numDigits);// prints 0
}
long numDigits(double num){
long i=0;
double n=num;
while(true){
if(n - (cast(long)n) == 0){
return i;
}
i++;
n *= 10;
}
}