When I multiply a `long long` value with a `double` value, I get a `double` value. 

To convert it back to `long long`, I use `(long long)`.

But the output I get is `0`, when it should be `10`. 

This is my code: 

```
#include <bits/stdc++.h>
using namespace std;
int main()
{
    long long n = 100;
    printf("%lld",(long long)0.1*n);

    return 0;
}

```

Why is this? How can I fix this?