掲示板利用宣言

 次のフォームをすべてチェックしてからご利用ください。

 私は

 題名と投稿者名は具体的に書きます。
 課題の丸投げはしません。
 ソースの添付は「HTML変換ツール」で字下げします。
 返信の引用は最小限にします。
 環境(OSとコンパイラ)や症状は具体的に詳しく書きます。
 返信の付いた投稿は削除しません。
 マルチポスト(多重投稿)はしません。

掲示板2

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧

No.24257

文字列の判別について
投稿者---鈴木(2005/11/20 02:53:38)


文字列”12345”を整数(int)か、実数(double)かを判別することは可能なのでしょうか?
いろいろな関数を調べたのですが見つけることができませんでした…
動作環境は、WinXP,VC++です。


この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:文字列の判別について 24258 Blue 2005/11/20 02:56:46


No.24258

Re:文字列の判別について
投稿者---Blue(2005/11/20 02:56:46)


> 整数(int)か、実数(double)かを判別する
あなたは何を持って、判定しますか?
少数の有無?表せる範囲?

1234 ならどちらともとらえられますよ。


この投稿にコメントする

削除パスワード

No.24259

Re:文字列の判別について
投稿者---鈴木(2005/11/20 03:03:29)


具体的でなくすいません。
少数の有無が判断できればうれしいです。


この投稿にコメントする

削除パスワード

No.24261

Re:文字列の判別について
投稿者---Blue(2005/11/20 03:13:07)


一番楽な方法は、strtol関数を使い、文字列の終わりまで変換できれば、long型
出来なければ strtod関数を使い変換する。

具体的なサンプル

#include <stdlib.h> #include <stdio.h> int main( void ) { char s[ 20 ]; char* p; long n; double d; scanf( "%s", s ); n = strtol( s, &p, 10 ); if ( *p =='\0' ) { printf( "Long Int : %d\n", n ); } else { d = strtod( s, &p ); if ( *p == '\0' ) { printf( "Double : %g\n", d ); } else { puts( "Not Number!" ); } } return 0; }



この投稿にコメントする

削除パスワード

No.24262

Re:文字列の判別について
投稿者---鈴木(2005/11/20 03:30:57)


シンプルでわかりやすいです。
ありがとうございます!!
勉強不足でした…


この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧