• 締切済み

整数の表現について

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

  • aeic
  • お礼率10% (60/582)
  • Perl
  • 回答数4
  • ありがとう数2

みんなの回答

  • kawa-sin
  • ベストアンサー率0% (0/0)
回答No.4

if ( $data =~ /\.+/ ){ B処理 print "少数\n"; }else{ A処理 print "不少数\n"; } でどうですか?

noname#25358
noname#25358
回答No.3

 えーと、1つ確認していただきたいんですが、たとえば「4.0」は整数でしょうか?  もしそうであれば、 if (int($number) == $number) {} else {}  俺の経験上、これが一番確実です。

  • heather
  • ベストアンサー率0% (0/5)
回答No.2

$ 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" } 抜粋終

  • yuizuian
  • ベストアンサー率42% (103/245)
回答No.1

if ($A =~ /\./) {…} else {…} という感じで、「小数点があるか」で判定してはどうでしょう?

関連するQ&A

  • 整数って・・・

    ちょっと確認させてください。 整数って、小数点の付いていない数字のことを言うんですよね? 例えば・・・ エクセルで関数を使い、平均値を計算しました。 その数字が「19.6369」となった場合、=ROUND(AVERAGE(A**:A**),0)というような関数で小数点以下を表示させないようにして、数字が「20」でいいのでしょうか? 問題に整数として表示させなさいとあったのですけど、分かる方、お願いします。

  • 正規表現を用いた整数、少数のチェック

    どうかご教授下さい。 現在JavaScriptによるプログラミングを行っています。 テキストボックスから入力された年齢、身長の値を 正規表現を用いて下記の条件をチェックしようとしていますが上手くいきません。 [条件] ●年齢● 0以上の整数。 半角数字。 0以外の頭に0が来る数字は許可しない。(例:00、012) ●身長● 0より大きい整数または少数。 半角数字、小数点。 整数の場合0以外の頭に0が来る数字は許可しない。(例:00、012) 少数の場合最下位の数字は小数点、0以外のものである。 [現状] ●年齢● 半角数字があれば半角数字以外を許可してしまう。(例:a1、1あ) 0以外の頭に0が来る数字を許可してしまう。(例:00、012) ●身長● 0以外の数字があれば最下位の数字が0でも許可してしまう。(例:123.0) 2つ以上の小数点を許可してしまう。(例:12.3.4、12..3) 上記以外にも自分で気付いていない問題があるかもしれませんが どうか助言頂きたく思います。 宜しくお願いします。 if(age.match(/(0|[1-9][0-9]*)/)){} else{ alert("年齢を半角数字で入力してください。"); } if(height.match(/([1-9][0-9]*|[0-9]+([\.][0-9]+)?[1-9]$)/)){} else{ alert("身長を半角数字で正しく入力してください。"); }

  • 整数と少数の端数の考え方

    整数と小数とを混在させて表記した場合の端数の取り扱いについてお伺いします。 A、B、Cの3つの箱の中にリンゴとナシが次のように入っていたとします。   リンゴ ナシ  A 11個 13個  B 12個 12個  C 24個  0個 それぞれの箱の中に占めるリンゴの割合として、次のように表記しました。  A 84.6%  B 50.0%  C 100.0% この表記に関して、ある方から、  「50.0%」「100.0%」と表記した場合、小数点第二位以下に端数がある可能性が出てくるため、   A 84.6%   B 50%   C 100%  と表記すべきだ。 との意見を頂きました。 「整数と小数とが混在して表記されている場合、  整数には、端数がある可能性はないが、  小数には、端数がある可能性が出てくる」 という考え方を初めて耳にしたのですが、これは数字を扱う上で基本的なことなのでしょうか? 教えていただければと思います。

  • 二つの整数値の大小比較

    二つの整数を読みこんでif文でつくるんですが、どうにもできません。 ↓のような感じで入出力すればいいそうです。 二つの整数を入力してください 整数A :83 整数B :45 大きい方の値は83です。 小さい方の値は45です。 そして同じ数字の場合は↓ 二つの整数を入力してください 整数A :17 整数B :17 両方とも17です。 どなたか参考となるプログラムを教えてください!!

  • if文で「配列a[i]が小数ならば」を表現したい

    if文で「配列a[i]が小数ならば」を表現したいのですが、どうしたらよいのか分かりません。 if(????){ 配列a[i]には、整数や0、そして小数が入っています。 どうぞご教授いただければ幸いです。

  • 整数かどうかチェックする

    テキストボックスに数字を入力させてボタンを押した時、 その数字が1桁の整数(0から9)でなければエラーメッセージを出すようにしたいのですが、何か簡単なコードはありますか? (5.6などの小数や、"a"や"あ"など数字ではない文字が入力された場合も同様にエラーを出したい) 1つずつ0から9までifでチェックしなければいけないのでしょうか。

  • 整数かどうか判別できません。

    やりたい事は小数点があるか無いかの判断です。 4100000000 の桁だと、is_intではfalseになってしまいます・・ 何か良いチェック方法はあるでしょうか? if(is_int(4100000000)) echo "整数です"; else echo "整数ではありません"; floor()では丸め誤差がでてしまい。小数点がある場合はfloor()を 使い、小数点がない場合、floor()を使わないようにしたいのです。

    • ベストアンサー
    • PHP
  • エクセルの IF関数とAND関数について 教えてほしいです

     お願いします。  =IF(AND(B3=整数以外、B4=整数以外),”B2+1”) としたいのですが、整数以外って、表現できるのでしょうか? 要するに、B3とB4へ、小数点を入力した場合に、B2へ +1としたいのです。

  • 小数か整数かを判定する方法

    お世話になります。 ただいま、VB6で悩んでいる事があり質問させていただきに参りました。 1: あるテキストボックスがあり、それには数字のみ入力するのですが、 小数が入力された場合、小数点第1位までしか入力させない、または小数点第2位以下が入力されていた場合、エラーメッセージ表示という処理をしたいのです。 例えば、1.5という文字の入力はOKですが、1.55と入力された場合は、エラーメッセージを表示。 2: 上記のテキストボックスに整数が入力されていたら、Format関数で、"00000"というカタチにして、小数が入力されていたら、"000.0"というカタチにしたいのです。 整数か?小数か?という判定方法が分からず困っています。 熟練者の方々にはとても簡単な事かもしれませんが・・・。 ご教授の程、どうかよろしくお願いします。

  • 整数部分、小数部分

    (問題) 1/√2-1の整数部分をa、少数部分をbとするとき a^2+b^2+2bの値を求める。 (答え) 5 下記の通り計算しました。 整数部分から求める。 √2+1/(√2-1)(√2+1)=√2+1 √2=1.4142・・・なので、1.4+1=2.4≒2 整数部分a=2としました。 小数部分はもとの数から整数部分を引くということで b=[1/√2-1]-2としました。 それをa^2+b^2+2bへ代入してみたのですが、答えが5になりません。 整数部分、小数部分という言葉から忘れていたので、途中の計算もこれで合っているかどうかも自信がありません。 本を見ても解らないので、教えていただけないでしょうか?宜しくお願い致します。