当前位置:编程学习 > VB >>

VB如何将小数转换成根号?

比如我计算出一个数,很有可能是根号三 就让他输出根号三

但是我不知道这个数是不是能写成根号下的一个数

需要判断下,可不可以,不可以的话就以小数形式输出,可以的话就以 根号 输出 --------------------编程问答-------------------- 看不明白 --------------------编程问答-------------------- 这是一个纯粹的数学问题,和VB没有什么必然联系
一般来说,除非你的计算参数本身就是以根号的形式传入的,否则不可能把计算结果用根号表示。
举个例子,2-0.268=1.732,但是你能把1.732表示成根号3吗?肯定不能!因为1.732根本就不等于根号3。
带根号的是个无理数,而计算出来的结果既然表示成了小数,就是个有理数(即便是无理数也是近似成有理数后显示出来的)。你只能把根号3作为一个字符串传递给计算程序,里面的计算代码需要自己写,没有任何的现成的函数可以调用,所谓的数学计算实际上变成了对字符串的处理。 --------------------编程问答-------------------- 是数学难题。人(我)做不出来,所以也没法写代码命令电脑。
--------------------编程问答-------------------- --------------------编程问答-------------------- 说明:
您在Text1输入1.732 按键
Text2输出3
您在Text1输入1.414 按键
Text2输出2
等等
请楼主试试 --------------------编程问答-------------------- 那么我给一个建议,你输入一个数,然后用代码将他平方一下,再四舍五入,然后将取整之后的数再开方,如果取整之后的数的开方和原来的数在误差范围内,就可以将原来给出的那个数表示成取整之后的那个数的根号形式。例如以下代码:

Dim A As Double, B As Double, Square As Double, tmp1 As Double
A = InputBox("请输入需要判断的数", "原始数据") '获得需要判断的数
B = InputBox("请输入精度,如:0.0001。数值越小,准确性越高,但精度必须大于零", "精度") '输入精度
tmp1 = A ^ 2 '平方
Square = Int(tmp1) '取整

'这里实现四舍五入(因为取整时已经将小数去掉,所以四舍的代码就不用了,下面是五入)
If Abs(Square - tmp1) > 0.5 Then
    Square = Square + 1
End If

tmp1 = Sqr(Square) '再开方
If Abs(A - tmp1) < Val(B) Then
    '如果a与tmp的差的绝对值小于精度就能表示出来
    MsgBox A & "可以表示为:根号" & Square
Else
    '否则
    MsgBox A & "只能表示为:" & A
End If

我自己试过,在第一个框输入7.6811,在在第二个框输入0.0001,出现提示框“7.6811可表示成:根号59”,这是没错的。我又试了几个,一般第一个框输入多少位小数,那么第二个框就输入多少位,按照这样输入一般都能判断出来 --------------------编程问答-------------------- --------------------编程问答-------------------- 程序发在 [删除] 用平方根表示小数
地址:http://download.csdn.net/my
请下载试试 --------------------编程问答-------------------- 纠正地址:http://download.csdn.net/detail/xjg811/4443426 --------------------编程问答-------------------- 我的QQ空间里有这种代码
可以解决输出分数和根号的问题
例如,输入0.33333333333333则显示1/3.输入18^0.5则显示3√2
http://sz.user.qzone.qq.com/810296309/infocenter#!app=2&via=QZ.HashRefresh&pos=1346204476 --------------------编程问答-------------------- 楼主这想法估计要落空了, 实际上除了完全平方数, 大部分数字的平方根都是无理数, 也就是无限不循环的那种.
你永远都判断不成功的.

除非你设置一定的误差存在, 比如你设定小数前三位一样就通过, 如: 1.414, 1.732这种近似的平方根

如果要这样做也非常简单, 只需要把你要表达的这个小数平方一下, 看看是否接近某一整数, 当平方之后和某个整数的差小于一定程度(比如小于0.00001)的时候就把这个小数当作是该整数的平方根看待 --------------------编程问答--------------------
对于有小数部分的计算结果,如果你所做的运算的最后一步不是开平方,那它就绝不是一个数的平方根,即便它可以和一个数的平方根很接近。

如果最后一步是开平方,那你停在这一步就可以了。

我不知道你有什么好疑惑的。 --------------------编程问答--------------------
补充:VB ,  基础类
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,