将 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 更大的数字,因此在类型转换期间变成其他东西。
至少是我能想到的常用语言
将 double 转换为 long,然后再转换回 double,是否保证小数点左侧的值保持准确?
编辑: 使用 C++:转换如下:
double d_var = func();
long l_var = (long)d_var;
d_var = (double)l_var;
对于我使用过的每一种编程语言,它都会将值保留在小数点左侧。
对于类型转换,分数会在转换时被删除,但对于范围,double 可以容纳比 long 更大的数字,因此在类型转换期间变成其他东西。
至少是我能想到的常用语言