質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

Q&A

解決済

2回答

11856閲覧

電卓の小数点の入れ方

ekiti

総合スコア10

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

0グッド

0クリップ

投稿2017/06/15 05:09

VB.NETの初心者です。
今Visual Studio 2015で電卓を作っていますが、小数点のコードの書き方がわからないです。
電卓としては、四則演算ができればいいです。
今のところ、四則演算ができていています。でも小数点のとこで躓いました。

整数加算の電卓画面クラス以下
Public Class Form1
Private ope As String = Nothing

Private beforeIn As String = "C" Private ans As Long = 0 Private num As Long = 0

End Class

数字1を押下した画面は以下
Private Sub BtnOne_Click(sender As Object, e As EventArgs) Handles BtnOne.Click
If beforeIn >= "0" And beforeIn <= "9" Then
If LblAnser.Text.Length < 8 Then
LblAnser.Text &= "1"
End If
Else
LblAnser.Text = "1"
End If
beforeIn = "1"

End Sub

どなたが小数点のコードのヒントをくれたら嬉しいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

まずLong型に小数点はありませんよね

いろいろやり方があると思いますが、

  • 入力ストリームを記録しておく→表示用のString型
  • 現在有効になっている演算子→String型でも使える演算子をEnumで縛っておいてもいいですね
  • 計算するため→目的の型(IntegerでもLongでもSingleでもDoubleでもDecimalでもお好きに)

と分けて持たせておいて、入力ストリームがTryParseで目的の型に

  • 変換できた→入力OK
  • 変換できなかった→入力NG

としても良いかもしれませんね

投稿2017/06/16 17:35

dojikko

総合スコア3939

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

小数点同士の演算は値がfloatかdoubleになることを考えればいいかと。

誤差どこまで許容するかによりますが、簡易電卓ならそこまで気にしなくて
いいのではないでしょうか。

「.」があるときは文字列長が変わるので注意。

あと、内部的に今まで押された内容を覚えておくとより分かりやすい。

投稿2017/06/15 05:24

kanimaru

総合スコア1013

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ekiti

2017/06/15 05:30

ありがとうございます。 floatかdoubleとおしゃいましたが、それについてもう少し説明してもらいますか。
ekiti

2017/06/15 05:45

ありがとうございます。 参考になります。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問