アプリ版:「スタンプのみでお礼する」機能のリリースについて

もし、数字が整数だった場合はこのA処理を
もし、数字が小数点を含む数字だった場合はB処理をというようなIF文を作りたいのですが”整数” ”小数点” をどのように表現するのか解りません。
どうか教えて頂けないでしょうか。
又、違う表現等があった場合もあるのでしょうかお願します。

A 回答 (4件)

if ($A =~ /\./) {…}


else {…}
という感じで、「小数点があるか」で判定してはどうでしょう?
    • good
    • 0

$ perldoc -q integerで探したらありました。


以下抜粋。

How do I determine whether a scalar is a
number/whole/integer/float?

Assuming that you don't care about IEEE notations like
"NaN" or "Infinity", you probably just want to use a
regular expression.

if (/\D/) { print "has nondigits\n" }
if (/^\d+$/) { print "is a whole number\n" }
if (/^-?\d+$/) { print "is an integer\n" }
if (/^[+-]?\d+$/) { print "is a +/- integer\n" }
if (/^-?\d+\.?\d*$/) { print "is a real number\n" }
if (/^-?(?:\d+(?:\.\d*)?|\.\d+)$/) { print "is a decimal number" }
if (/^([+-]?)(?=\d|\.\d)\d*(\.\d*)?([Ee]([+-]?\d+))?$/)
{ print "a C float" }


抜粋終
    • good
    • 0

 えーと、1つ確認していただきたいんですが、たとえば「4.0」は整数でしょうか?



 もしそうであれば、

if (int($number) == $number) {} else {}

 俺の経験上、これが一番確実です。
    • good
    • 0

if ( $data =~ /\.+/ ){


B処理
print "少数\n";
}else{
A処理
print "不少数\n";
}

でどうですか?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!