• ベストアンサー

PHPでカンマ区切り文字列を数値に変換するには

PHPでカンマ区切り文字列を数値に変換するにはどうすればいいのでしょうか。 例)$a="12201,11912"が文字列を認識されるのですが数値認識させたいです。 以上よろしくお願いします。

  • PHP
  • 回答数1
  • ありがとう数0

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

>"12201,11912" というのは (1)12201(2)1220111912(3)12201と11912の配列 のどれを期待しているのでしょうか? <?php $a="12201,11912"; $a_1= (int) $a; var_dump($a_1); $a_2= (int) str_replace(",","",$a); var_dump($a_2); $a_3= explode(",",$a); var_dump($a_3); ?>

関連するQ&A

  • カンマ区切りの数値文字列を数値に変換

    JSPで数値を入力して、データベースへ更新するプログラムを作成しています。 入力はカンマありでもなしでも通すようにしたいと思っています。 しかも、カンマの位置は特にチェックせずにしたいのです。 ちゃんとしたカンマ区切り数値なら、NumberFormatで数値変換できますよね? データベースの数値を表示する際にもカンマ区切り数値にしますので、1桁目を削除した場合には、カンマの位置が違ってきますよね。 そのためにカンマの位置は意識しないでいきたいのです。 StringTokenizer という便利なクラスがあったので使用してみたのですが、インスタンスを生成した後、トークン分をループで回して文字列を連結する必要がありますよね。 もっとスマートに一発で変換できないでしょうか? 「ある文字列からデリミタを省いた文字列を返すメソッド」みたいな。 よろしくお願いします。

  • PHPで文字列から数値に変換する方法について

    PHP5で数値の文字列から数値にする方法で質問です。 数値と認識されるものについては、そのまま、およびキャストするだけでそのまま使えると思いますが、 割り算(「/(スラッシュ)」)が入っているような計算式を数値として認識させる方法はありますでしょうか? 例えば $a="6861/2500"; echo (float)$a; echo "<br>"; とすると、先頭の6861という数値に変換されます。 if(is_numeric($a)){ echo "数値"; }else{ echo "文字"; } の結果は文字という判定になりました。 6861/2500 ↓ 2.7444 と取得したいです。 自分で計算記号から数値部分を区切って計算するような方法をとらないと難しいでしょうか?

    • ベストアンサー
    • PHP
  • カンマの含まれる文字列の数値変換方法について

    VB.NETでプログラミングしています。 String型の文字列を Double型の数値に変換するときに 一般的にはVal関数を使いますが、 カンマが含まれる文字列"111,111"を 数値変換したい場合には単純にVal関数を 使用しただけではうまくいかないようです。 上の例で数値変換すると"111"になってしまうようです。 そこで質問なのですが、 何か簡単にできるうまい方法はないでしょうか? 関数があればご教示ください。 以下、Val関数の説明の抜粋です。 解説 文字列中に数字以外の文字が見つかると、Val 関数は読み込みを中止します。円記号 (\) やカンマ (,) など、通常は数値の一部と見なされる記号や文字も、Val 関数は数値として解釈しません。

  • カンマ区切りの文字列を検索する

    「1,2,3,5,10…」のようにカンマ区切りになっている文字列が格納されているカラム(number)があり、その文字列に含まれている数字と検索用配列「1,2,3」と比較して存在すれば抽出するみたいなことがやりたいのですがよくわかりません。 カンマ区切りではなく単一の数字であれば select * from tests where number IN(1,2,3); みたいな感じでnumberがIN()のなかにあるかどうかで抽出できると思うのですが、この場合はどのようにすればよいのでしょうか。 ちょっと説明が下手でわかりづらいかと思いますがよろしくおねがいします。

    • ベストアンサー
    • MySQL
  • VBAで文字列を数値に変換したい

    こんにちは! システムから自動で出力されるExcelファイルがあります。そのファイルを開くと数値が文字列として認識されています。いつも数値に直しているのですが、下記の方法でなおしています。 エラー チェック機能を使用して文字列形式の数値を変換する 他にも文字列を数値になおす方法は下記URLを参考にしています。 http://office.microsoft.com/ja-jp/excel-help/HP010342308.aspx ただ、これをVBAで変換できないかと思っています。 例えば、A~G列まで文字列データがはいっています。このA~G列のデータをVBAで一気に数値化したいのですが、どのようにすればおこなえるでしょうか?

  • ポインタを使用 [数字列を数値に変換]

    カンマ(,)区切りの数字列を ポインタを使って 数値に変換したいのですが、わかりません。 教えてください。お願いします。 char data[]="5436,434";

  • access2000 クエリで文字列を数値に変換

    access2000 クエリで文字列を数値に変換 商品の管理DBをaccessで入力し、テーブルをexcelにエクスポートして並び替えやその他の編集をしています。 テーブルに「数量」というフィールドがあり、数字入力が主ですが、商品によっては「無制限」や「-」のように文字列を入力しなければならない為、「数量」は「数値型」ではなく「テキスト型」になっています。 excelへエクスポートした時に、「10」などは数値として認識させ、「無制限」などはそのままの文字列にしたいです。 クエリの式に「Val([数量])」としてみたところ、「10」は数値として変換されましたが、数値ではない文字列は全て「0」になりました。 また、「15,000」は「15」になりました。(カンマが文字列な為) これを 「10」→「10」(数値) 「無制限」→「無制限」(文字列) 「15,000」→「15000」(数値) にするような関数はありませんでしょうか。 excel2007のエラー処理(セルを選択した時に出る「!」で「数値に変換する」)と同じような挙動にしたいです。 宜しくお願いします。

  • 数値を文字列に変換

    文字列を数値変換する関数はありますが、逆に数値を文字列に変換するにはどうやればよいのでしょうか?

  • 文字列が数値に変換されない

    文字列の数字をVALUE関数で数値に変換したくても数値になりません。 ♯N/Aと表示されるだけです。 関数を入れたあとに表示形式を数値にしても変わりません。 元の文字列はVLOOKUP関数で検索した数字です。 これができないと仕事が進みません。急いでます。お願いします。

  • EXCEL・月日のつもりで入力された文字列(数値)を年月日に変えるには

    A列に月日のつもりで入力された次のような文字列(又は数値)があります。これをB列に年月日に変換表示したいのですがその方法(関数)をご教示ください。(年月日の表示形式は不問。) なお、「年」を意味する文字列がないので、変換する場合、4.1から12.31までは2006年4月1日から同年12月31日まで、1.1から3.31までは2007年の1月1日から3月31日とします。 はじめデータ・区切り位置コマンドを使おうと思ったのですが、コンマの位置が不揃いでうまく行きませんでした。また入力した者が例えば3月1日を意味する文字列(または数値)をあるときは「3.1」あるときは「3.01」のようにまちまちに入力していて、それも作業が面倒な一因となっています。 A     B(変換表示したい年月日「例」) 4.8   2006/4/8 5.03   2006/5/3 7.28    2006/7/28 12.1    2006/12/1 1.07     2007/1/7 2.15    2007/2/15

専門家に質問してみよう