• ベストアンサー

追伸します。

http://okwave.jp/qa/q8516176.html  以上の質問ですが  以下を追伸します。 文字列から数値型へ明示的なキャストを行う際には、次のような特性があることに注意してくだ さい。文字列は、先頭から数値を表す文字が続く限り、そこまでを数値として扱い、変換を行い ます。これにより、一件見ただの文字列のようなものでも、キャストにより、0以外の数値となります。

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

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

  • ベストアンサー
noname#244856
noname#244856
回答No.1

【数の構成】指数表記と浮動小数点 http://oto-suu.seesaa.net/article/204829406.html Qiita - 【PHP入門講座】 型変換 http://qiita.com/mpyw/items/3aac811629622f7f4d8b

Campus2
質問者

お礼

 ご回答毎度ありがとうございます。  指数表記と浮動小数点は1回HPを読みましたが、理解が深まるように暇ひま再度読み直して   みます。(概略理解できました)   、  型変換のURLは一度読みましたがキャストの内容等、暇ひま数回は読んでみます。   以下!この質問でリンク元ご回答に  A:文字列のようなものでも、キャストにより、0以外の数値となります。   了解しました。    数値と文字列が混ざっていても、自動的に、数値だけをキャストしてくれ便利な  PHPなんですね^^

関連するQ&A

  • ”+”の符号をつける方法

    数値型データを文字型データに変換する場合、元データが負の値であれば、文字列の先頭に"-"が入りますが、負の値でない(0を含む)場合に文字列の先頭に"+"をセットする方法がございましたら、ご教示いただきたくお願いいたします。 (変換前) 123.45 -12.34 0.0 (変換後に期待する形式) +123.45 -12.34 +0.0

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

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

    • ベストアンサー
    • PHP
  • Informixで文字列を数値型に

    こんにちは。 当方、Linux7.3+アプリケーション(DB:Informix)を使用しています。 文字列を数値に変換するSQLに悩まされています。 内容 01/01/08からなる文字列と20080101と手動入力される数値を比較する事が最終目標です。 当方が試みている方向は、 01/01/08をSUBSTRING()で20080101に成型し、数値比較をしたい、と思っています。 SUBSTRING()で、文字列型で20080101までできるのですが、数値型にCASTが出来ません。 検討した関数は、下記の通りですが、構文エラーとなり、実装できません。 お助け下さい。 CAST(20080101) as INTEGER TO_NUMBER(20080101) INT(20080101) CONVERT(20080101)

  • boost::lexical_castで16進数文字列を数値に変換する

    boost::lexical_castで16進数文字列を数値に変換する 次のコードで試しましたが実行時例外になります。 16進数文字列をlexical_castで扱う方法を教えてください。 #include <boost/lexical_cast.hpp> string ss = "0x1234"; int n = boost::lexical_cast<int>(ss); よろしくお願いします。

  • Excel で 文字→数字変換

    エクセルで文字→数字変換を行いたいのですが、 どのようにすればよいでしょうか? (やりたい例) あるセルの特定文字列位置の文字を数字に変換したい。 文字列先頭から4番目の文字を元に数値に変換する。 Aだと1と変換、Bだと2と変換、Cだと3と変換… A1:xxxBxxxx B1:2 うまく質問が表現できなくてすいません。 実現方法はVBAでも結構です(使ったことはありませんが)。

  • cプログラミングについて

    現在c言語を勉強しているのですがどうしてもわからないので質問させてください。 キーボードから不特定多数の文字列を入力した際に、特定の文字に対してのみ特定の処理を施したい場合どうすればよいのでしょう? 例えば、 ・行の先頭の英小文字を英大文字に変換する ・\の後に入力されている数値を100倍にする などです。よろしくお願いします。

  • Excelの「’」とセルの書式設定(文字列)の違い

    こんばんわ。 Excelの文字列表示について、教えてください。 数字を入力する際に、先頭に「'」を入力すると 文字列として入力することが出来ますが、 数字が入っているセルのセルの書式設定から 「文字列」に表示形式を変更することとの 違いはなんなんでしょうか? やり方は違うけれど、結果は同じということでしょうか? 「'」を入力すると、データが文字そのものに変わり、 表示形式を変更すると、見た目だけ(左揃えになるなど) 文字列のように見えるだけで、データは 数字のままということなんでしょうか?? また、文字列として入力された数字を Value関数で数値に変換してしまうのと セルの書式設定で「数値」に変更するというものも 同じように、違いが良く分かりません。。。 もう、頭の中が「??」だらけです。 違いを教えていただけたら・・・と思います。 どうぞよろしくお願いいたします<m(__)m>

  • 数値を文字列に変換

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

  • printf関数の引数は文字例と決まっているからです。

    printf関数は文字列しか引数として受け取りません。 printf("文字列"); では数値を引数にしたらどうでしょう? #include <stdio.h> #main () {     printf(1);     return 0; } これはコンパイルエラーになります。printf関数の引数は文字列と決まっているからです。 この文章について質問です。 Q.なぜ上の「文字数」はダブルクォーテーションで囲まれているのに、下の「1」にダブルクォーテーションはないのでしょうか? Q.文書を見る限り、Cでは文字列と数値は区別されているように見えますが、なぜでしょうか?

  • エクセルで一つの列にある数値の桁数を統一したい

    エクセル2000を使用しています。 ある列に 12345 012348 012349 98750 と言うように5桁と6桁の数値が混ざっています。 これを5桁の数字の先頭に0(ゼロ)をつけて すべて6桁に統一した数値の列にしたいのですが、 このような変換ができる関数などはありましたら教えてください。