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 , 基础类