平方根


れえ  2008-07-16 15:37:57  No: 140084  IP: 192.*.*.*

Text Box から入れた数字の平方根を求め、Label に書き出すプログラム
↑これってどうやればいいでしょうか????

編集 削除
熊谷隆史  2008-07-16 16:54:34  No: 140085  IP: 192.*.*.*

ヘルプで「平方根」を検索か、
過去ログを「平方根」で検索か、
VB6 平方根 でGoogle検索。

Sqr関数を使うのでは。

編集 削除
まさやん  2008-07-17 12:17:27  No: 140086  IP: 192.*.*.*

Label1.Caption = Sqr(Text1.Text)

又は、

Label1.Caption = Text1.Text ^ (1 / N)

平方根の場合、N=2
立方根の場合、N=3
X乗根の場合、N=X

編集 削除
 2008-07-17 14:04:47  No: 140087  IP: 192.*.*.*

>まさやん氏
このぐらいの事は頑張って本人がある程度調べられるようにならないと
本人のためにならないと思う
これっきりプログラムしないんだったら関係ないかもしれないけどさ

それはそれとして、
>Label1.Caption = Sqr(Text1.Text)
初心者相手であるからこそ、データ型の事を考えずに
適当に書いてしまうのは宜しくないのでは
本来なら例えば
Label1.Caption = CStr(Sqr(CDbl(Text1.Text)))
とかにすべき
VBだとこの辺適当でも動いちゃうけどさ
(もっと言うと本来ならIsNumericとか使うべきだけど…
  とりあえず、そのレベルの話は いいか)

編集 削除
G  2008-07-17 20:08:57  No: 140088  IP: 192.*.*.*

タメ口、キモ〜

編集 削除
我龍院  2008-07-18 08:25:34  No: 140089  IP: 192.*.*.*

あれですね、なんと  Option Explicit  でも
Label1.Caption = Sqr(Text1.Text)
Label1.Caption = Text1.Text ^ (1 / N)
両方通ってしまうと言うことは、もうこれは言語仕様というしかかな。
VB.NETでも同じですね、さすがに  Option Strict On だとはじかれますが。

それとIsNumericは入り込む余地がないんじゃないかな気持ちはわかるが、ただしマイナスチェックは要るな。
    If CDbl(Text1.Text) >= 0 Then
        Text2.Text = Str(Sqr(CDbl(Text1.Text)))
    Else
        MsgBox "入力データーは0以上でお願いします。", _
        vbOKOnly, "入力エラー"
    End If

複素数まで考えると
    If Abs(CDbl(Text1.Text)) = CDbl(Text1.Text) Then
        Text2.Text = Str(Sqr(CDbl(Text1.Text)))
    Else
        Text2.Text = Str(Sqr(Abs(CDbl(Text1.Text)))) + "i"
    End If
なんてのも有りそうでうだが。

編集 削除
 2008-07-18 08:55:59  No: 140090  IP: 192.*.*.*

>我龍院氏
>IsNumericは入り込む余地がないんじゃないかな
TextBoxに数値しか入らないように制御掛けたりしてるんだったら
確かに必要は無いですね
但しそれが無い場合は、数値以外を入力されたらCDblも通らないので
数値かどうかの確認は必要かと
それと確かにマイナスの事は考えた方が良さそうですな
質問者が、どの程度のレベルのものを望むかにも よるとは思うが

編集 削除
我龍院  2008-07-18 10:51:10  No: 140091  IP: 192.*.*.*

>但しそれが無い場合は、数値以外を入力されたらCDblも通らないので
>数値かどうかの確認は必要かと
その通りでした。

編集 削除
G  2008-07-19 22:06:06  No: 140092  IP: 192.*.*.*

応援、キモ〜〜〜

編集 削除