모두, 긍정적 인 문자열에 "+"를 추가하는 PHP 함수가 있습니까?빨리 + 문자열에 더하기 [PHP]
즉
function(4) // returns +4
function(1.0) // returns +1.0
function(-1) // returns -1
function(0) // returns +0
감사
편집 : 소요 시간 및 문자열을 반환하고자합니다.
모두, 긍정적 인 문자열에 "+"를 추가하는 PHP 함수가 있습니까?빨리 + 문자열에 더하기 [PHP]
즉
function(4) // returns +4
function(1.0) // returns +1.0
function(-1) // returns -1
function(0) // returns +0
감사
편집 : 소요 시간 및 문자열을 반환하고자합니다.
다음
$number = sprintf('%+f', $number);
// "-0" => +0.000000
// "1.2" => +1.200000
또는
function formatPositive($number)
{
return ($number > 0) ? "+$number" : $number;
// "0" => "0"
// "-0" => "-0"
// "1.2" => "+1.2"
}
또는
을function formatPositive($number)
{
switch(true) {
case !is_numeric($number): // "Beer" => "NaN"
$number = 'NaN';
break;
case $number == 0: // "-0" = "±0"
$number "±0";
break;
case $number > 0: // "1.23" => "+1.23"
$number = "+$number";
break;
default: // "-1.23" => "-1.23"
break;
}
return "$number";
}
닫기,하지만 그는 '+ 0'을 말하기 때문에'> ='이어야합니다. 또한 삼항 연산자의 두 번째 부분은''$ number ''가 아니어야합니다. 그래서 함수는 양의 경우 문자열이고 대 문자열이면 정수를 일관되게 반환합니다. (오, 삼진 형식을 사용하는 +1은 멋지군요.) –
"+"를 반환하는 "nothing"을 반환합니다. – dotty
@Doug Zero는 양수가 아니므로 + imho를 반환하지 않아야합니다. 어떤 것이라도 ±가 있어야합니다. PHP는 필요에 따라 자동으로 타입 변환하기 때문에 반환 유형을 결정하기 위해 OP에 맡깁니다. – Gordon
홈
function make_positive($int){
if($int >= 0){
return "+".$int;
}else{
return $int;
}
}
합니까 PHP 자체가 기능
을했다?편집 : 변경된 함수 이름.
내가보기에 유일한 문제는 양수이면 함수가 문자열을 반환하고 음수이면 정수를 반환한다는 것입니다. 아마도 일관된 형식을 반환해야합니다. 맞습니까? –
또한'is_foo'라는 함수는'boolean' 값을 반환해야한다고 제안합니다. –
편집 됨, thanks nikc. – dotty
sprintf("%+d", 5); # should give +5
sprintf("%+d", -5); # should give -5
빠른 참조 : http://www.php.net/sprintf
,$i = 3;
printf('%+d ', $i);
$i = -3;
printf('%+d ', $i);
인쇄 +3 -3
값이 float 인 경우 별개의 줄이 필요합니다. –
1.0이 일반 1 일 뿐이므로 PHP가 그 존재를 기억할 이유가 없으므로 정확히이 것을 얻을 수있을 것이라고 생각하지 않습니다. 당신이 원한다면 문자열로 보내야하지만, 덕 타이핑 덕분에 함수의 코드가 다를 필요는 없다. –
무엇입니까? 이것은 반환 값이 문자열인지 아닌지를 결정합니다. – Skilldrick
지적한대로 정수는 사용되지 않습니다. 실제로는 문자열을 사용합니다. 즉 "0.00", "1.34"이다. – dotty