将 double 转换为 long,然后再转换回 double?

Converting a double to a long, then back to double?

将 double 转换为 long,然后再转换回 double,是否保证小数点左侧的值保持准确?

编辑: 使用 C++:转换如下:

double d_var = func();
long l_var = (long)d_var;
d_var = (double)l_var;

对于我使用过的每一种编程语言,它都会将值保留在小数点左侧。

对于类型转换,分数会在转换时被删除,但对于范围,double 可以容纳比 long 更大的数字,因此在类型转换期间变成其他东西。

至少是我能想到的常用语言