在我的数据库中,有一个名为height的字段是varchar(9)字段。最终用户从下拉列表中选择一个值,该列表包含以下值:
5'0
5'0 1/2
5'1
5'1 1/2
5'2
5'2 1/2
等等......
7'4
我需要做的是将此字符串转换为数字英寸,以便进行服务器端计算。我不知道如何处理这个字符串转换,所以非常感谢任何帮助。谢谢!
答案 0 :(得分:1)
你想先获得英尺,英寸和分数的单独变量
$toBeConverted = "5' 4 1/2";
list($feet,$inches,$frac) = explode(' ',$toBeConverted . ' ');
然后添加这些值
$total = ((str_replace("'",'',$feet) * 12) + $inches + ($frac == '1/2' ? (1/2) : 0));
答案 1 :(得分:0)
如果您知道下拉的索引,第一个值为0,则英寸数为
$inches = 60 + $pulldownIndex * 0.5;
因为你从5'
开始(5 * 12 = 60)并以0.5英寸的增量向上移动。
或者,如果您想查看下拉菜单上的字符串,我建议您查看Felix的答案 - 它非常紧凑和优雅。
答案 2 :(得分:0)
$inches=0;
$array=explode(" ",$string);//where $string is "5' 0 1/2" for example
if ($array[2]='1/2') $inches=(int)$array[0]*12+(int)$array[1]+0.5;
else $inches=(int)$array[0]*12+(int)$array[1];