我正在显示高度下拉值和内容浮点值.当我在编辑表单上显示此下拉菜单时,不显示其中选择的旧值高度.
我希望在我的下拉列表中显示5.6英尺高度值,其值为4,4.1,4.2 …… 6.10,6.11,7等.
以下是我使用的代码
<select name="height">
<?PHP for($height=(4.0); $height <= 7; $height=($height+0.1) ): ?>
<option value='<?PHP echo $height;?>' <?PHP if((5.6) == ($height)) echo "selected=selected"; ?> ><?PHP echo $height;?> ft</option>
<?PHP endfor;?>
</select>
有人知道这个问题的解决方案吗?请帮忙.
解决方法:
正如马克在评论中所说,这是一个浮点精度问题.您可以通过在$height上使用round()来解决此问题,如下所示:
<select name="height">
<?PHP for($height=(4.0); $height <= 7; $height=($height+0.1) ): ?>
<option value='<?PHP echo $height;?>' <?PHP if(5.6==round($height,2)) echo "selected=selected"; ?> ><?PHP echo $height;?> ft</option>
<?PHP endfor;?>
</select>