我的双值为 10293.01416015625 在c#中,我试图转换为float。由于float只有24位,我想得到的结果为 10293.0141. 但我得到的价值是 10293.0137
double value = 10293.01416015625;
float converted = (float)value;
预期值 - 10293.0141
价值我得到 - 10293.0137
先谢谢你
从 系统.单一文档:
单个值的精度最高为7位小数,但内部最多保持9位。
你的结果正确到7位有效数字(10293.01)。你不应该期望能够得到比这更多的结果。float
.
确切的数值是: float
最接近10293.01416015625的是10293.013671875和10293.0146484375。两者都离你想表示的值有0.00048828125的距离。