关于Math.Log()的问题

bronica_chen 2010-04-28 12:27:42
请教一下,我今天运行了一个程序,大概是这样:我从数据库中获取一个字段的值,在数据库中我设置提String类型。
但是我计算的时候定义的值是Double类型,比如说数据库的值是Val=0.96, 我获取后,用Double.parse(Val)转换
然后在下面的计算中,m=Math.Round(Math.Log(Val),10)
我不知道为什么结果计算出来是4,5643482
怎么会有逗号呢。
然后我又运行一遍的时候,值就是-0.040822
这个结果是正确。
但是我就是不明白为什么计算LN函数的时候,会有逗号呢??
我现在想通过调试找出根本的原因在哪,怕以后再出现类似的情况,但是却怎么也运行不出有逗号的值了。
请问大家有没有碰到过这种情况?谢谢!
...全文
326 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
bronica_chen 2010-05-04
  • 打赏
  • 举报
回复
数据库中就是0.96唉.唉....
Forrest23 2010-05-04
  • 打赏
  • 举报
回复
跟踪数据库中val的值,如果数据库中是0.96,那就不可能算错
skep99 2010-05-04
  • 打赏
  • 举报
回复
数据库也不太可靠,建议把各个数值写到日志,再分析
bronica_chen 2010-05-04
  • 打赏
  • 举报
回复
对了,我再补充一下,VAL在数据库中是varchar类型的。
所以我从程序中取出这个值的时候,定义为Double类型。
所以VAL=Double.Parse(...)//...是从数据库取出的数据
怎么在程序中被扩大了100倍呢。
bronica_chen 2010-05-04
  • 打赏
  • 举报
回复
我的VAL的值是0.96, VAL的值是从数据库中读取表的字段值.这个值是不会错的,0.96,1.61,2.25怎么被扩大了十倍呢
有的时候,VAL是0.96,他算出来的结果是4,5643482
VAL是1.61,他算出来的结果是5,0814044
VAL=2.25,结果是5,4161004

所以我觉得我的公式写在程序里面是没有问题的。
有的时候他会是这个结果,但有的时候再运行他又是正常的-0.040821995,0.476234179,0.810930216

skep99 2010-05-02
  • 打赏
  • 举报
回复
算了一下
公式
m=Math.Round(Math.Log(Val),10)
只有Val=96的时候
m=4.5643481915

如果小数点换成逗号的话,
和楼主说的 4,5643482 基本吻合


还请楼主检查自己的程序, 跟踪val值
bronica_chen 2010-05-02
  • 打赏
  • 举报
回复
我并没有让他用科学计数啊。而且我这个要SHOW在页面上的。这样的话,页面的数据只要是点的变成了逗号。还有其他办法么?
兔子-顾问 2010-04-30
  • 打赏
  • 举报
回复
逗号是科学计数法,三位一个逗号。无所谓的。
bronica_chen 2010-04-30
  • 打赏
  • 举报
回复
我今天又有一个数据也是的。Math.Round()函数又出现这种逗号的形式了?
bronica_chen 2010-04-30
  • 打赏
  • 举报
回复
没有看错,我都写到数据库里的
水哥阿乐 2010-04-28
  • 打赏
  • 举报
回复
每天回贴得可用分
hztltgg 2010-04-28
  • 打赏
  • 举报
回复
应该是你看错了吧,是在调试窗口看到么?

16,721

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧