我使用的库需要在变量上设置值,并且只接受float
类型,但TrackBar
控制只接受Int32
的{ {1}}属性。
因此,我们假设Value
的最小值为0,最大值为100.并且TrackBar
的当前值为67;如何将该值转换为float中的等效值?所以它应该变成喜欢 0.067,如果我是正确的。
答案 0 :(得分:2)
要将int
转换为float,只需转换:
(float)trackBar.Value;
或
Convert.ToSingle(trackBar.Value);
请注意,如果您需要更改范围,则需要至少执行除法。即在你的情况下,它看起来像是百分比,所以除以100.0:
trackBar.Value / 100.0f;
请注意,如果您使用100
,则结果将是错误的,因为使用整数除法(trackBar.Value / 100
始终为0
)。
通常将0-n
范围内的整数转换为(mixValue, maxValue)
范围:
(trackBar.Value /( (float) maxValue - minValue)) + minValue;
答案 1 :(得分:2)
将整数值除以100作为float
,以获得float
的百分比。这将使值标准化为0到1之间的十进制值:
float trackBarPercentage = trackBar.Value / 100f;
将integer
值除以float
值会导致右侧自动转换为float
类型。有关详细信息,请参阅MSDN文章Casting and Type Conversions。