关于Fix函数~

rqx110 2009-12-28 05:04:14
Fix(12.1*10)
Fix(12.10*10)

为什么以上得出的结果会不一样? 请高人指点~~~
...全文
276 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
rqx110 2009-12-29
  • 打赏
  • 举报
回复
装了SP6就正常了貌似,结贴了!
  • 打赏
  • 举报
回复
加了个cdbl(12.1 × 10, 就正常了!?
  • 打赏
  • 举报
回复
是很奇怪。
我试试12.1 - 12.9,结果
129
128
126
125
125
124
123
121
120

2.1 - 2.9,结果
28
27
27
26
25
23
22
22
21
rqx110 2009-12-29
  • 打赏
  • 举报
回复
我真想上图给你们看看,没空间好让我放图,

先假设等于120,为什么呢,怎么不是先做括号里的乘法?
贝隆 2009-12-28
  • 打赏
  • 举报
回复
试验,结果也是一样的


Option Explicit

Private Sub Form_Load()
Text1.Text = Fix(12.1 * 10)
Text2.Text = Fix(12.1 * 10)
End Sub
ACMAIN_CHM 2009-12-28
  • 打赏
  • 举报
回复
?Fix(12.1*10)
120
?Fix(12.10*10)
120



看不出有什么不一样。
贝隆 2009-12-28
  • 打赏
  • 举报
回复
按道理应该是一样的
Int、Fix 函数


返回参数的整数部分。

语法

Int(number)

Fix(number)

必要的 number 参数是 Double 或任何有效的数值表达式。如果 number 包含 Null,则返回 Null。

说明

Int 和 Fix 都会删除 number 的小数部份而返回剩下的整数。

Int 和 Fix 的不同之处在于,如果 number 为负数,则 Int 返回小于或等于 number 的第一个负整数,而 Fix 则会返回大于或等于 number 的第一个负整数。例如,Int 将 -8.4 转换成 -9,而 Fix 将 -8.4 转换成 -8。

Fix(number) μèóú£o

Sgn(number) * Int(Abs(number))
波导终结者 2009-12-28
  • 打赏
  • 举报
回复
经我测试,结果是一样的。你怎么个不一样法,结果是多少?
liguicd 2009-12-28
  • 打赏
  • 举报
回复
...........
舉杯邀明月 2009-12-28
  • 打赏
  • 举报
回复
Fix(12.10*10)也会被 VB-IDE 格式化成 Fix(12.1 * 10) 啊,怎么会不一样?
  • 打赏
  • 举报
回复
fix好象只是正负值时返回的有点怪。别的和int一样。
Tiger_Zhao 2009-12-28
  • 打赏
  • 举报
回复
你在哪里运行不一样?sp6 装了没有?

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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