2014-02-10 3 views
0

PHP를 사용하여 필드의 유효성을 검사하려고합니다. 해당 필드에 입력 할 값은 float 값이어야합니다. 다른 사람은 받아 들일 수 없습니다. 심지어 정수가 아닙니다. 5.2 또는 4.1과 같은 값을 받아 들여야합니다. 3 또는 56 또는 123 등의 정수도 허용되지 않습니다. 희망은 분명하다. 사전에PHP에서 float 값만을 확인하는 방법

감사 PHP에서 is_float

답변

1

만들기 사용. 문자열 실패합니다

Demo

+0

빠른 답장을 보내 주셔서 감사합니다. 소수점 하나만있는 부동 소수점을 허용하려면 어떻게해야합니까? 내 질문에 위에서 사용 된 예제처럼? –

+0

위 내용은 당신이 찾고있는 것을 정확하게합니다. 유효한 플로트는 내가 아는 한 소수점 1 자리 만 가질 것입니다;) 사용을위한 데모를 추가하겠습니다. –

+0

@ShankarDamodaran '1.2'는 무엇입니까? 텍스트 필드에서 문자열을 가져옵니다. –

0

is_float

<?php 
if (is_float(53)) { 
    echo "is float\n"; 
} else { 
    echo "is not float\n"; //<---- This will be printed ! 
} 
(예를 들어, 얻을 또는 우편 제출). 값이 숫자인지 확인하려면 is_numeric을 사용하십시오. 정수로 캐스팅 부동 소수점 값을 확인하고 평등를 확인하려면 : 값은 문자열입니다 텍스트 필드에서받을 수 있기 때문에 당신은 정규식으로 확인하실 수 있습니다

function is_float_value($value) { 
    return is_numeric($value) && ('' . (int)$value) !== "$value"; 
} 

echo is_float_value("53.1") ? "yes\n" : "no\n"; // yes 
echo is_float_value(53.1) ? "yes\n" : "no\n"; // yes 
echo is_float_value("0.0") ? "yes\n" : "no\n"; // yes 
echo is_float_value(0.0) ? "yes\n" : "no\n"; // no - internally represented as 0 
echo is_float_value("53") ? "yes\n" : "no\n"; // no 
echo is_float_value(53)  ? "yes\n" : "no\n"; // no 
0
$x='1.23'; 
if(preg_match('/^(\d)*\.(\d)+$/',$x)){ 
    echo 'yes'; 
}else{ 
    echo 'No'; 
} 

.

관련 문제