

No.7ベストアンサー
- 回答日時:
>if(s.Equals('.'))
>の部分で、コンパイルすると、));にしろとのエラーメッセージが出るのですが、なぜなんでしょうか?
多分、私の書いた部分をそのままコピペしているため
ifの前に全角の空白が入っているんだと思います。
(掲示板だとTabが無効になるので代わりに全角空白を使いました)
空白を消去しましたら、正常にコンパイルすることが
できました。
期待通りのプログラムを組むことが出来ました。
ありがとうございました。
また機会がありましたら、宜しくお願いします。

No.6
- 回答日時:
Windows電卓の仕様ならiiikkkさんの方法でいいと思います。
小数点があるか調べるなら
string str = textBox1.Text;
bool flg = false;
foreach(char s in str)
{
if(s.Equals('.'))
{
flg = true;
break;
}
}
if(flg)
Console.WriteLine("textBox1に小数点が含まれています。");
else
Console.WriteLine("textBox1に小数点が含まれていません。");
といった感じでしょうか。
この回答への補足
ご回答ありがとうございます。
if(s.Equals('.'))
の部分で、コンパイルすると、));にしろとのエラーメッセージが出るのですが、なぜなんでしょうか?
if(flg == 0)
{
if(textBoxResult.Text == "")
{
textBoxResult.Text = textBoxResult.Text + "0.";
flg = 1;
}
else
{
textBoxResult.Text = textBoxResult.Text + ".";
flg = 1;
}
}
現在の小数点キー部のソースはこのようになっております。
このキーを押した際に、小数点が表示されているか
否かを見に行き、処理をしたいのです。
まだ回答を募集していますので。
宜しくお願いします。
No.5
- 回答日時:
#2です。
>その結果に小数点が打ててしまうのです。
ここの仕様がいまいち分かりません。
Windows付属の電卓は、演算子の後の数字でテキスト部をクリアしてますよね。
その感覚で回答しているつもりです。
また、ボタンクリックイベント時に変数にセットしていけば、表示部を見る必要もありません。
下記例だと、
5.0÷3.0=1.667 +10.0=
[5]クリック→[.]クリック&フラグON(これ以降カンマは無視)→[0]クリック
→[÷]クリック&フラグOFF(これ以降はカンマ有効)
→[3]クリック→[.]クリック&フラグON(これ以降カンマは無視)→[0]クリック
→[=]クリック
1.6667と計算結果表示
→[+]クリック&フラグOFF(これ以降はカンマ有効)
→[1][0]クリック→[.]クリック&フラグON(これ以降カンマは無視)→[0]クリック
→[=]クリック
となります。
>ので、電卓の表示部に小数点があるかないかを
>参照するという方法が知りたいのです。
ここに表示する部分でカンマは2個ついちゃうんですよね?
であれば、参照する意味が分かりません。
もう少し仕様を洗い出してもらえますか?
No.4
- 回答日時:
#2です。
では、これでいけますね。
少数点、もしくは= が押されたらフラグを立てる
フラグが立っている間は、それ以降の少数点は無視
演算子が押されたら、フラグを解除
この回答への補足
ありがとうございます。
フラグでやる方法は試したのですが、それで一応の処理はできるのです。
しかし、5÷3=としたときに、計算結果が少数になりますよね?
その結果に小数点が打ててしまうのです。
これはエラーになりますので回避したいのです。
ので、電卓の表示部に小数点があるかないかを
参照するという方法が知りたいのです。
知ってる方おられましたら、お願いします。
No.2
- 回答日時:
演算子が登場するまでに少数点は1個しか表示させないようにする、いわゆる2回目以降は無視するようにすればよいと思います。
少数点が押されたらフラグを立てる
フラグが立っている間は、それ以降の少数点は無視
演算子が押されたら、フラグを解除
これでどうでしょうか。
この回答への補足
ご回答ありがとうございます。
フラグは立ててみたものの、割り算の処理を
行った際に、小数点が出る場合がありますよね?
その際に出た計算結果にも小数点が打ててしまうのです。=を押した際にフラグを立てますと、
それ以降に入力した数字に小数点が打てなくなりますし、それを回避するにはやはり、text部を見に行き、
判断するようにしたいなと、思ったのですが。
なにしろ、書き方が分かりません。。
ので、その点についてご教示願いたいです。
よろしくです。
No.1
- 回答日時:
こんにちは、じゃんぬねっと と申します。
・一度押された時点でフラグを儲ける。
・毎回、電卓の Text 部を見に行く。
で判断できるかと。
この回答への補足
回答ありがとうございます。
フラグを立てて試してみたのですが、0.3+1=1.3
としたときに、フラグを立てたままですと、少数点が
打てなくなります。ので、計算結果を表示するのと同時にフラグを初期化しました。すると、その状態で少数点を打つと、2重に打たれた状態になりました。また、1/xキーで0.11~にした後も、小数点が2重になります。フラグを立てる以外の方法がありましたら、お教え願いたいので宜しくお願いします。
あと、TEXT部を見に行くというのは、具体的にどのように記述すればよろしいのでしょうか?
宜しくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 工学 1つのタクトスイッチで複数の並列回路を閉じ、アースにつなげることができるスイッチはありますか。 2 2022/08/06 10:38
- バッテリー・充電器・電池 電卓のボタン電池種類について。 電卓の内部基板上に、ボタン電池を挟んでとめる電池ホルダーが、ハンダ接 4 2022/11/05 17:03
- バッテリー・充電器・電池 電卓の内部基板上に、ボタン電池を挟んでとめるホルダーが、ハンダ接合で付けられています。 使用したいボ 1 2022/11/05 08:17
- Visual Basic(VBA) visual basic初心者です。 visual studioで電卓を作成しています。 実行時にテ 1 2023/02/08 00:18
- その他(趣味・アウトドア・車) Arudino nanoが正常に動作しない原因 1 2022/10/30 18:29
- 時計・電卓・電子辞書 ソーラー式で電池式の電卓です。 ボタン電池を入れ替えたのですが、こんな表示になります。 どうしたらま 5 2023/06/15 09:40
- C言語・C++・C# プログラム内から、MIDIファイルの一部分だけを再生する方法 1 2023/02/15 11:08
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- 時計・電卓・電子辞書 関数電卓についての質問です 大学で食品について学んでいるのですが 学生実験で関数電卓が必要と言われま 7 2022/10/07 16:47
- 時計・電卓・電子辞書 電卓 5 2023/08/16 05:38
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
c言語でイベントフラグを使った...
-
COBOL エンドフラグについて
-
SQL*LoaderでCSVから指定した列...
-
一つ前に戻るには…
-
【エクセル】データテーブルの...
-
テーブル名をカラムとして取得...
-
会社の飲み会の幹事になり、座...
-
「テーブルに座って……」という...
-
update文で改行を入れる
-
SQL、2つのテーブルで条件一致...
-
SELECT 文の NULL列は?
-
外部キーだけのテーブル(主キ...
-
テーブルに存在しない列をselec...
-
SQLにて指定日付より前、かつ最...
-
アクセス レコードセットを更...
-
Accessでデータシートに同じデ...
-
テーブルで一番古いレコードだ...
-
飲み会で、座敷orテーブルどち...
-
Oracleで上書きImportはできま...
-
男性と2人で飲食店に行きテーブ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
c言語でイベントフラグを使った...
-
C#で電卓のプログラムを組んで...
-
COBOL エンドフラグについて
-
クリスタルレポートで検索条件...
-
会社の飲み会の幹事になり、座...
-
「テーブルに座って……」という...
-
SQL、2つのテーブルで条件一致...
-
一つ前に戻るには…
-
update文で改行を入れる
-
SQL*LoaderでCSVから指定した列...
-
Accessでデータシートに同じデ...
-
sqlplusで表示が変なので、出力...
-
SELECT 文の NULL列は?
-
下記、問題に対しての解答が以...
-
L2SWはARPテーブルを持っている?
-
テーブル名をカラムとして取得...
-
SQL 複数テーブルのupdate
-
テーブルに存在しない列をselec...
-
他のデータベースとのテーブル結合
-
外部キーだけのテーブル(主キ...
おすすめ情報