dポイントプレゼントキャンペーン実施中!

こんにちは、
Kシェルをはじめたばかりなのですが
調べかたが悪かったのか、わからなかった為、質問させて頂きます。

文字型で年月日ばらばらに取得した数値を
(年:2003、月:10、日:09)
改めて数値型に変換するには
(年:2003、月:10、日:9)
どうすれば良いのでしょうか。


Kシェルをはじめた、と書きましたがシェル自体経験が浅いです。
ご存知のかた、宜しければご教授下さい。

A 回答 (2件)

Kシェル自体には文字列->数値変換の機能は無いと思われます。


exprコマンドを使用すれば算術結果が取得できますの以下のようにしてください。
--------------------------------
DD=09   #DDには文字として"09"が格納されている
DD=`expr $DD + 0`   #強制的に算術演算させる
echo $DD #DDには"9"が格納される
----------------------------------
これをコピー&ペーストする場合は、全角スペースを半角スペースに変えてください
    • good
    • 0
この回答へのお礼

ありがとうございました^^
計算することが出来ました。
まだまだ勉強が必要なのですが、ネットに詳しく解説しているところを見つけられず…
本に頼るしかないのでしょうか^^;;

お礼日時:2003/10/10 10:50

こんばんは。

Korn shell ですよね。
ksh および bash では、組み込みコマンドの typeset を使うことで
型の変換が行えるようです。
例えば変数を整数型として宣言するには
「typeset -i」または「integer」を頭につけます。
私の手元の pdksh(パブリックドメイン版 ksh クローン)では
「integer」は「typeset -i」のエイリアスでした。

$ day="09"
$ print $day
09
$ typeset -i day=$day
$ print $day
9

いかがでしょうか?
なお、ksh の typeset -i では底を自由に設定できます。
「typeset -i8」のように。

参考書は今はオライリーの「入門Kornシェル」しかないようです。
http://www.oreilly.co.jp/BOOK/korn/

http://hp.vector.co.jp/authors/VA029091/zakki/ks …

参考URL:http://www.cc.fuk.kindai.ac.jp/doc_link/Ja_JP/a_ …
    • good
    • 0
この回答へのお礼

ありがとうございました^^
実際には使用しませんでしたが、このような方法もあるのだと勉強になりました。
本のほうもチェックしてみます
(でも出版数少ないんですね…;買うのがちょっと躊躇います;;)

お礼日時:2003/10/10 12:02

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