
No.2ベストアンサー
- 回答日時:
aの型がdoubleとして
if(a[i] != (double)(int)a[i]){
というのが自然ではあるのですが、内部表現上の誤差でうまくいかないケースもでてくると予想されます
やろうとしているケースにもよりますが小数部分がある値より小さい時という判定にしなければならないかもしれません
No.7
- 回答日時:
okweb_doctorさん、今晩は。
単に配列と書いていますが、浮動小数点型の配列ですよね。私の知りうる範囲(多分、狭い範囲だと思いますが)では、一旦、浮動小数点型に入れた後では、どうしようもないと思います。従って、入れるとき、或いはその前に何らかの付加情報が必要になりそうです。
その理由は、#2の方が仰るように浮動小数点の誤差です。
ついでに、#6
>小数って「数のうち、整数ではないもの」だよね。
は違います。数学的或いはプログラミング的には小数は実数とも言い、整数を含みます。従って、質問者の言い方も
>「配列a[i]が小数ならば」
でなく、
「配列a[i]が整数でない小数ならば」が正しいでしょう。
私の日本ごがおかしくてご迷惑おかけしました。
5や9などではなく、2.56や0.64や12.8などの小数部分を含む数でした。
みなさまありがとうございましたm(_)m
No.6
- 回答日時:
#蛇足
質問者ではないが
To #5さん
えっと……何かおかしい?
そりゃ正確には「配列aの要素a[i]が~」だが、そこは問題じゃないんでしょ?
小数って「数のうち、整数ではないもの」だよね。
0 < x < 1 は「0より大きく1未満の数」だよね。
2.3とか-0.001も小数だよね。
何が引っかかるんでしょ
No.5
- 回答日時:
> 「配列a[i]が小数ならば」
「少数ならば」って何ですか? (日本語が変な感じしますが)。
もしや数学的な書き方するならば 0 < a[i] < 1 のことですか? だとすると if (a[i] > 0.0 && a[i] < 1.0) { ... } でできます。
No.4
- 回答日時:
何をもって整数とするかにもよりますが(おかしな表現ですが、概ね誤差をどう扱うかの意味です)、標準ライブラリに下駄を預けるなら、
double i;
if (modf(a[i], &i) != 0.0)
{
/* 小数 */
}
かと思います。
参考URL:http://www.linux.or.jp/JM/html/LDP_man-pages/man …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- JavaScript javascriptでif文と配列を組み合わせて運賃プログラムを完成させたいです。 1 2022/07/03 14:20
- Excel(エクセル) <スプレッドシート>IF関数の複数条件について 5 2022/10/27 14:38
- Excel(エクセル) VBAで “:” を含むセルの特定 2 2023/05/11 16:30
- Perl perl このテキストファイルを簡単に配列に入れるには? 2 2022/04/27 20:24
- Excel(エクセル) 表示形式、文字列セル(列)に数式を入力するには マクロ 1 2022/09/18 10:53
- Excel(エクセル) ExcelのIF関数について 4 2023/05/24 12:54
- PHP PHP MySql ページング 2 2022/09/20 06:38
- Excel(エクセル) アウトラインの小計のやり方 1 2023/03/20 11:51
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語 配列の長さの上限
-
C# Listを使わずに2次元配列の...
-
構造体とポインタ配列
-
C# 配列の変数宣言について。
-
先頭アドレスとは何ですか?
-
配列を含む構造体の初期値について
-
mallocの確保要素数の限界は?
-
VBで構造体の配列を関数に渡す...
-
配列を使わずに、変数名を動的...
-
配列をEraseしてもメモリが開放...
-
テキストファイルから文字列を...
-
C言語でのカンマ区切りについて
-
複数の選択範囲の行番号を個別...
-
構造体や配列へのポインタにつ...
-
if文で「配列a[i]が小数ならば...
-
C言語でcharの足し算
-
メモリの初期値
-
unsigned char配列への入力の仕方
-
VBAで配列からbmp画像を出力す...
-
MATLAB の配列の添え字について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語 配列の長さの上限
-
配列を使わずに、変数名を動的...
-
C# Listを使わずに2次元配列の...
-
【速いブラインドタッチ】手を...
-
配列をEraseしてもメモリが開放...
-
テキストファイルから文字列を...
-
先頭アドレスとは何ですか?
-
配列で格納したものをmsgboxで...
-
複数の選択範囲の行番号を個別...
-
C# 配列の変数宣言について。
-
C++ vectorに配列をプッシュしたい
-
配列を含む構造体の初期値について
-
VBで構造体の配列を関数に渡す...
-
C言語で特定列だけを抽出して配...
-
キーボードのキー配列について
-
ExcelVBAで質問です。離れた二...
-
2次元配列を戻り値とする関数?
-
unsigned char配列への入力の仕方
-
【C言語】配列の中に配列を入れ...
-
Redimした動的配列はEraseする...
おすすめ情報