- ベストアンサー
Kシェルでの文字型→数値型変換
こんにちは、 Kシェルをはじめたばかりなのですが 調べかたが悪かったのか、わからなかった為、質問させて頂きます。 文字型で年月日ばらばらに取得した数値を (年:2003、月:10、日:09) 改めて数値型に変換するには (年:2003、月:10、日:9) どうすれば良いのでしょうか。 Kシェルをはじめた、と書きましたがシェル自体経験が浅いです。 ご存知のかた、宜しければご教授下さい。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Kシェル自体には文字列->数値変換の機能は無いと思われます。 exprコマンドを使用すれば算術結果が取得できますの以下のようにしてください。 -------------------------------- DD=09 #DDには文字として"09"が格納されている DD=`expr $DD + 0` #強制的に算術演算させる echo $DD #DDには"9"が格納される ---------------------------------- これをコピー&ペーストする場合は、全角スペースを半角スペースに変えてください
その他の回答 (1)
- nightowl
- ベストアンサー率44% (490/1101)
こんばんは。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/ksh-1.html
お礼
ありがとうございました^^ 実際には使用しませんでしたが、このような方法もあるのだと勉強になりました。 本のほうもチェックしてみます (でも出版数少ないんですね…;買うのがちょっと躊躇います;;)
お礼
ありがとうございました^^ 計算することが出来ました。 まだまだ勉強が必要なのですが、ネットに詳しく解説しているところを見つけられず… 本に頼るしかないのでしょうか^^;;