• ベストアンサー

10進数を表す文字列を整数型に

"0x10"(16進数) や "020"(8進数) などは oct関数で整数型に直せますが、 10進数の文字列を整数型に直す関数はありませんか?

  • ggaogg
  • お礼率86% (209/243)
  • Perl
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

特別必要はありませんが $n = 0+ "123"; のようにしてやります。

ggaogg
質問者

お礼

BLUEPIXYさん、いつもありがとうございます。

関連するQ&A

  • 文字列と整数型について

    はじめまして。 どうしても困っているのでヒントでも良いのでおねがいします。 関数内(func1)で確保した文字列変数のポインタを 別の関数(func2)にポインタ渡しします。 func2内で整数型で計算した結果を引数で示された文字列変数に 代入するというようなことをしたいと思ってます。 ここで、intは4byteとします。 メモリ長だけで見ると、bit[4] = tmp です。 void func1(){ char bit[4]; func2(bit); return; } void func2(char* p){ int tmp = 0x10101100; p = tmp; <---- ??? return; } そこでどのようにすれば、 代入することができるのか分かりません。 以下のような結果になるように代入したいと思っています。 bit[0] = 0x10; bit[1] = 0x10; bit[2] = 0x11; bit[3] = 0x00; 小さな文字列型に整数型をどのように渡せばよいのかが 一番疑問に思っているところです。 整数型に文字列型を代入する場合には 文字列のバイト指定とシフト演算で実現できています。 ヒントでもよいのでお願いします。

  • 文字列から整数導き出したい

    お世話になります。 現在、簡易的な占いのプログラムを作ってみています。 フォームに入力された文字から占いの結果を表示するようなものを 作りたいのですが、中々うまくいきません。 仕組み的にはフォームから文字列をPOST⇒10進数の整数に変換⇒10進数の整数に対応する占い結果を表示という形を考えています。 文字列をbin2hex関数で16進数にはできるのですが、16進数から10進数変換する方法がわかりません。 何かより方法がありましたらご教授ください。

    • ベストアンサー
    • PHP
  • 整数を文字列として認識したい

    整数を文字列として認識したいんですが、可能なのでしょうか? 例えば、i=12470というint型の整数があるとして、1万の位の数1や、十の位の数7だけを取り出したいんです。 しかし、この際、1万の位の数1をi/10000、十の位の数7を(i%100)/10などというようにしては取り出したくないんです。 ややこしい質問ですが、よろしくお願いします。 というのも、整数を文字列として認識する目的は、int型として送られてきたデータが本当に整数なのかをチェックするためだからです。 初心者なので合っているか分かりませんが、整数を文字列として認識できれば、isdigit関数を使うことで、データが本当に整数なのかをチェックすることができるのかなあと考えているんですが・・・ もし、私の考えが間違っていたり、他に良い方法があったら是非教えて欲しいと思います。

  • 16進数の文字列

    16進数の文字列をそれと同値な整数値へ変換する関数をかけという問題なのですが、 この場合文字列を読み込んで、例えば読み込んだ値がABだとした場合、 A*16の1乗+B*16の0乗 を計算する関数を作ればよいのだと思うんですが、 それぞれの値をべき乗する関数も必要になってくると考えています。 そこで問題なのですが、べき乗の関数を作ったとして、それぞれの値(こんかいはAとB)にそれぞれのべき乗した値をかけてやるには、どういった方法があるのでしょうか? 回答よろしくお願いします。

  • ”123456”といった整数を文字列に変換、その後、文字列を1文字ごとに整数に変換 

    忙しい中失礼します。 http://oshiete1.goo.ne.jp/qa3424254.htmlでも質問させて頂いたものですが、 今、回答してくださった方の意見を参考に以下の過程をこなそうとしています。 1.整数入力 →scanf関数を使用し、"123456"と入力します。 2.整数を文字列に変換 → printf("Write the SIN: \n");   scanf("%d", &fnum);   printf("%c\n",fnum); で、"123456"と数値を入力しても”123456”という値が返されず、@となってしまいます。 どうすれば入力した数値が文字列として返ってくるのでしょうか? どんな文・関数を使用すれば数字を文字列として使用することが可能になるのでしょうか? 今のところ習っている文はif else, swith case, while for,do whileで、 getcharやstr?(string)という関数は習っていません。なので、どうプログラムを書けばいいのか??さっぱりなのです。 でもgetcharやstr?(string)という関数を使用するしか方法はないものなのでしょうか?  また、それから 3.文字列を1文字ごとに整数に変換  にする場合、どんな文・関数を使用すれば、1文字”ごと”に整数に変換できるのでしょうか? ごめんなさい、分からないのです。プログラム文、ヒントもしくは参考になるページ等があれば教えて下さい。 よろしくお願いします。 <使用環境:フリーソフト(Borland?)C ANSI C>

  • itoaは4バイト整数を

    数文字列に変換しますが 8バイト整数を10進数整数文字列に変換する関数はあるでしょうか? また逆にatoiのように兆単位の10進整数整数文字列を8バイト整数に変換する関数はあるでしょうか? OSは98seでコンパイラはBorland C++5.51を使っていてAPIやSTLなどでプログラミングしています

  • 入力された文字列から整数だけを取り出す方法

    入力された文字列から整数だけを取り出すにはどうしたらよいのでしょうか? 例えば、 (1,1,4,4,2,3,2,3) と入力された時、'(' や ',' は無視して、 1 1 4 4 2 3 2 3 のみを取り出したいのですが。。 自分なりにiostreamの関数について調べてみたのですが、良い方法が思いつきません。 どなたかお力添えをお願いいたします。

  • 文字列を実数に変換するにはどうしたらいいでしょうか

    本に文字列を整数に変換する「atoi」はあったのですが、文字列を実数に変換する関数はないのでしょうか。教えて下さい。

  • 文字数が決まっていないの文字列を自動に取得して別の文字列に変換

    取得して切り出す文字列の長さが固定で無い場合には、どのようにしら良いのでしょうか? 例: ある適当な文字列を分割  ETUROGO → E T U R O G O        の様に一文字ずつ分割  各文字を他の文字列に変換  E→ 2 や T → 電話 のように全文字を  他の文字に変換  この文字列の長さが固定ならば範囲をして変換  する事が出来るのですが、  取得文字列(この場合は、ETUROGO)の長さが  3文字~20文字程度で決まっていない場合  どのようにしたら自動で変換されるのでしょうか?  LEN関数で文字数を取得  LEFT関数やMID関数等で文字列を切り出す。  という事までは考えたのですが。  文字数が変化してしまうとやり方が分かりません。  また、上記の場合は英文字なのですが同様に  文字列の長さが固定ではなく(4文字~20文字の間)  ”東京携帯配備” を ”東京” ”携帯” ”配備”  のように単語で分割し同様に他の文字列に変換  するという場合は、少し異なるのだと思うのですが  INDEX関数等を使えば良いのかな?  とも思うのですが過去の例を見ても理解出来ません。    どうかお教え願います。宜しくお願い致します。

  • Excelで文字列を独自の二進数で表したい。

    A,B,C,D,Eのいずれかを含む文字が順不同でセルに入っているものから、 A=10000 B=1000 C=100 D=10 E=1 と置換して足した、二進数であらわしたり、逆にその二進数から文字列に戻したりしたいです。 (例:DAなら10010、EBCなら1101) VBAの自作関数を含めてExcelの関数でできる方法があればお教えくださると助かります。