• ベストアンサー

文字列としての数

hirusagariの回答

回答No.1

ご存知のとおりコンピュータは内部的には数値しか扱えませんので、 内部では文字列も数値の列として表現されています。 しかし、エクセルやワードといったユーザに見える部分からはそれが直接見えないようになっています。 文字列と数値を区別するかはその言語の仕様によって異なります。 C言語は一応は文字と数の区別はつける言語(強い型付けの言語)ですが、 文字やポインタを数値としても扱えてしまったりしてその区別は中途半端です。 エクセルのVBAは文字や数値の区別がない言語(弱い型付けの言語)で、 エクセルでは自動的に数値と文字が変換されていると考えるとよいかもしれません。 本質的に文字列と数値は異なるものなのに、その解釈をコンピュータがユーザに知らせずに勝手に変えてしまうので ご質問者のかたのような混乱と誤解を招いています。 そのような言語ではコンピュータの代わりにユーザがその区別をつけなければならないのです。 「型」についてちゃんと理解したいのであれば、JavaやC#といったもっと型の厳格な言語を学んでみるとよろしいかと思います。 企業ヒミツとかではありません。 入力された文字がどう扱われるかわからないと何もできませんから、 それらの仕様はむしろ公開されているはずです。

rongryu123
質問者

お礼

有難う御座いました。よく調べてみます。やはり、有る程度言語の習得は必要なのでしょうね。

関連するQ&A

  • 文字列を数式に

    文字列を数式として認識し、計算結果をひろいたいのですが、、、 例)"3*2"という文字列を、6という数値として認識したい。   複数計算式も同様で、"-2*3+8"という文字列を2という数値で認識したい。 四則演算記号で分解して認識するには多大な行を要します。。。 数行でできたら最高なのですが^^;

    • ベストアンサー
    • Java
  • 文字列数値化

     ちょっとした事情によりint型で作った数字の文字列をC言語で数値化する方法を教えてください。 よろしくお願いします。

  • エクセルの文字列としての数値

    エクセルでは「’」を付けるか、セルを文字列とするかで、数字を文字列として認識させられるようですが、ここで文字列として認識された数値はASCIIにおける、文字列としての数認識コードとやはり同じなのでしょうか?それともエクセル独自のものと解釈した方がよいのでしょうか?

  • 文字列の配列

    文字列の配列 1.1.1.1 2.2.2.2 3.3.3.3 4.4.4.4 のようにIPアドレスが一行に一つづつ書き込まれたテキストがあります。 ここから、それぞれのIPアドレスを文字列として配列に書き込みたいのですが、どうしたらよいのでしょうか。 IPアドレスの数だけ配列を始めに宣言して、それぞれに書き込んでいくのでは手間がかかりすぎてしまいます。 単純に数値の羅列なら scanfを使い、配列に格納できるのですが、文字列になるとどうしたらいいのかわかりません。 よろしくお願いいたします。

  • 文字列の加算

    OS  :WindowsXP Pro SP1 開発環境:VisualStudio .NET 2003 開発言語:C# 開発形態:Windowsアプリケーション プログラミング初心者です。どうかよろしくお願い致します。 現在、あるアプリケーションを作成しております。 その中で、数値の入った文字列を受け取り、それを全て加算しようとしております。 例えば、 引数の文字列が"123456789"だとしたら、そのメソッド内で1+2+3+4+5+6+7+8+9を計算し、答えを返却値とする。 私は文字列をint型にキャストして計算しようと思ったのですが、うまくキャストできません。string型はint型にキャストできないのでしょうか? また他に文字列の数値の加算をする方法がありましたら、どなたかご教授お願い致します。

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

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

    • ベストアンサー
    • PHP
  • エクセルで『1600-』の文字列の処理

    エクセル2000でセルに入入力された『1600-』という文字列を『-1600』の数値として認識したいのですが、出来ません。どなたか分かる方お願いします。出来ればVBAを使いたくないのですが…。

  • EXCEL 数値と文字列の共存

    凄く初歩的な質問だとは思うのですが解決出来なくて困っています。 ユーザーフォーム上のテキストボックスから セルに入力をする時に 485768 っと数値を入力すると入力はされますが 「数値が文字列として入力されています」 とエラーが出てしまします。 これだけなら「str」ってのを使うと解決するのですが その同じテキストボックスで 3RD-544 のような文字列も入力します。 これだと「str」だとエラーが出てしまいます。 しかし「val」で解決します。 でも、すると数値のみの時にエラーが出てしまします。 ・・・要するに文字列もしくは標準で入力したいのです。 if構文で数値の時は「str」、文字列の時は「val」 のように凄く回りくどくやれば出来そうな気はするのですが もっとさくっと出来る方法はないでしょうか?

  • VBAで文字列を数値に変換したい

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

  • 文字列を数字型に変換したい

    いつもお世話になっております。 eclipseというツールでC言語のプログラムを触っているのですが、 文字列の数字を数値型に変換して掛け算をしたいのですが、 型変換の関数はありますでしょうか??