文字列を数値変換するには?

[上に] [前に] [次に]
chima [E-Mail] 2000/02/07(月) 18:38:28
VBでいうところのASC関数のようなものが、CGIにもあるのでしょうか。
例えば、「うりゃ!」をASC関数で数値に置き換え、その絶対値を取ると「128586」に。
「きぇーっ」を同じように取ると「128660」になります。
よって、「きぇーっ」の勝ち!
・・・みたいなことをCGIでやりたいのです。

CGIは初心者で、分からないことばかりです。
何とぞご教授ください。よろしくお願いします。

EMI 2000/02/07(月) 20:18:40
単に、文字列を比較するだけならば、こんな方法もあります。

if($str1 gt $str2){
  print "$str1の勝ち!";
}elsif($str1 lt $str2){
  print "$str2の勝ち!";
}else{
  print "引き分け!";
}

まぁ、文字コードの合計となると、別の方法でしょうが。

andi 2000/02/08(火) 00:45:23
CGIでっつーのは変かも。
CGIを実現する手段はPerlやCなど様々な言語で可能です。
マイナーですが、VisualBasicで実現することも出来たと思います。
僕はその手段を知りませんが・・・

無責任官庁 2000/02/08(火) 08:38:34
言語はPerlだとします。
C言語だったら文字→コード変換って考え自体存在しないはずだし。
そんでVBでは出来ないってことなんで。

PerlのASCIIコード変換関数は、ord 関数です。
1バイトの判定なんで、文字の切り出しは頑張ってください。
他にも、pack 関数使う手もあります。
詳細はとほほさんのPerlリファレンスとか見てください。

chima [E-Mail] 2000/02/08(火) 16:47:26
[[解決]]
まだCGIとPealの違いも把握していないので、変な聞き方をしてしまいました。
どうもすみません。

>PerlのASCIIコード変換関数は、ord 関数です。
これを知りたかったんです!ありがとうございます!
とほほさんのリファレンスに載っていたんですね。探し方が至らなくて、もうしわけないです。
状況によってはpack関数のほうが良いかもしれないので、両方試してみたいと思います。
どうもありがとうございました。

[上に] [前に] [次に]