如何在Java和C中防止浮点和双精度浮点被截断?
当我给Java和C大的浮点和双精度(在十亿范围内)时,它们会将它们转换为科学记数法,在这个过程中会丢失精度。如何停止这种行为?对于Java,请查看转换为科学记数法纯粹是对其显示方式的影响。更改显示取决于如何输出(格式说明符) 浮点数通常有6位数的精度,这使得它们不适合持有数十亿的数字。Double大约有15位精度,所以它应该能够完全准确地保存超过万亿的数字 要在C中显示双精度:如何在Java和C中防止浮点和双精度浮点被截断?,java,c,floating-point,Java,C,Floating Point,当我给Java和C大的浮点和双精度(在十亿范围内)时,它们会将它们转换为科学记数法,在这个过程中会丢失精度。如何停止这种行为?对于Java,请查看转换为科学记数法纯粹是对其显示方式的影响。更改显示取决于如何输出(格式说明符) 浮点数通常有6位数的精度,这使得它们不适合持有数十亿的数字。Double大约有15位精度,所以它应该能够完全准确地保存超过万亿的数字 要在C中显示双精度: printf("%10f", dbl); 你试过把它们当作线传递吗?它们将保持不变。
printf("%10f", dbl);
你试过把它们当作线传递吗?它们将保持不变。