输入整数 - 值为数据类型float的变量

时间:2010-09-30 00:20:52

标签: c#

如果我的应用程序要求用户输入35,44,67,90之类的整数,是否可以将这些值分配给数据类型为float的变量?解释原因或原因

2 个答案:

答案 0 :(得分:1)

int分配给float变量对于小值基本上是可以的。但是,根据C#标准,float值只有7位数的精度。因此,如果整数大于9 999 999,则会出现舍入误差。

答案 1 :(得分:0)

可以使用足够小的数字来避免舍入错误。可以再多做一些,就像前几个发生舍入错误的情况一样,它们会在再次舍入时被取消。

但是,你为什么要这样做?唯一的影响是添加可能出错的东西(不知何故整数不是一个整数)并减慢速度。虽然float和int之间的效率差异是如此之小(对于数学,移动它们两者的效率相同,因为它们在内部都是相同的大小),我怀疑有人强迫整数执行浮动或小数值的工作过早的优化(虽然不一定,确实我自己在某些情况下已经完成了),强迫浮点数做一个整数工作似乎是过早的悲观,除非在这个地方它实际上充当浮动。