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;
     }
}

Reply via email to