问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

关于VB.net取整的问题

发布网友 发布时间:2022-05-25 12:17

我来回答

2个回答

热心网友 时间:2023-10-26 21:31

double是双精度 有效数值位52位 表示成指数的形式 即指数11位 即表示成
所以180.89305用2进制表示是10110100.1110010010011110111011001011111110110001010110110101

180.89305在double中存在的实际数值是
1.01101001110010010011110111011001011111110110001010110110101 *2^7
取小数点后 52位有效值后 等于10进制的180.893049999999998
所及加最后变成了 1808930.99999999998
第一次当然输出近似值1808931
第二次int函数去掉了小数点后的数int就是只取整数的部位的不是四舍五入 所以少了1

热心网友 时间:2023-10-26 21:31

int(x)函数是取不大于x的最大整数。

如果你

Dim A As Double = 180.8931 * 10000

那么
Trace.WriteLine(A) '输出A为1808931
A = Int(A)
Trace.WriteLine(A) '输出A为1808931
而你是:
Dim A As Double = 180.89305 * 10000+0.5

是乘后再加的0.5
在Int时就会
Trace.WriteLine(int(A)) '输出A为1808930

相当于int(180.89305 * 10000+0.5)而不是:int(1808931)。追问你解释的很有道理,我也是这么想的,但是我还是觉得奇怪
Dim A As Double = 180.8931 * 10000 + 0.5

这句执行完,A的值不是1808931吗?
为什么Int(A)还会从头算一遍:int(180.89305 * 10000+0.5)

难道定义完后,A变更存储的不是数字,而是一串表达式?A的变量里到底是什么?

追答应该是你定义了A这个变量= 180.8931 * 10000 + 0.5

Int(A)时,直接从这个变量定义里取的原因。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
怎么把苹果电脑安装到固态硬盘苹果笔记本可以换成固态硬盘吗_百度知 ... 营转非的车保险和私车一样吗? 功夫不负有心人的观点怎么写 用具体事实说明一个观点比如“功夫不负有心人”“虚心使人进步骄傲使... 我左腿膝盖向上10cm外侧刚发现有个硬的包很疼,表面无异样请问是什么`昨 ... 左腿膝盖外侧酸是怎么回事,右腿没感觉,是缺少什么了吗,以前一般吃几天... 膝盖处外侧皮肤麻木,皮肤容易红,外侧摸关节处略大于右腿同部位关节。去... 灰色冬裙配什么短外套 2024年信用卡诈骗罪是什么样的量刑标准 徐州启星中学好不好在徐州排第几徐州启星中学 .NET 小数如何转为整数 如:0.001 转换后是 100 vb.net 如何用format转换小数成整数 找一个NVIDIA显卡的驱动 新买的笔记本电脑只有C盘35.1G可用共49.9G。。。D盘是CVD RW驱动器,求方法~ 哪些付费的英超比赛有能免费看的网址吗 关于驱动程序 声卡问题(菜鸟请绕行) 驱动程序?? 施耐德Somachine软件中为什么不能添加Lxm23A的伺服驱动器 声音、视频和游戏控制器驱动程序问题 梦幻西游70的国标帽子加多少? 梦幻西游70逆鳞帽子国标货80W值啊? 梦幻西游100级装备国标防御和最高初始防御分别是多少? 60国标光辉帽子打两石头,多少钱? 梦幻西游新区70的帽子属性国标,附加状态魔王回首值几个钱? 我不知道该下载什么驱动程序啊? 梦幻西游70级装备国标都是什么属性? 梦幻西游50级国标变身帽子值多少 我的电脑上有声卡驱动器,可是没有声音 梦幻西游里面90的国标水清帽子和90的国标水清鞋子相比,那个值钱些啊 有关如何将一个数字取整的问题asp.net c# asp小数如何取整数?例如:1.2取2,3.56取4的这种。急急急! vb.net 如何计算一个小数的小数位数和整数位数,如何将一个整数反过来例196变为691 在asp.net中怎么把小数点后面的零给去了 在VB中小数怎么转化成Integer类型? .net 字符型转换为数值型怎么做 vb.net 输入一个小数 求能得到这个商的最小的整数除数和最小整数被除数 asp.net中文本框需要输入整数或小数来做除法,请高手指点 VB.NET 控制输入的是整数还是小数 "请问开花的大地,请问解冻的河流"什么意思? 为什么煮的银耳汤有很多气泡? 艾青诗句“请问开花的大地,请问解冻的河流”的出处 炖银耳,为什么起泡泡 “请问开花的大地,请问解冻的河流”是在艾青的那一首诗中?请大家指教,谢谢! "请问开花的大地,请问解冻的河流"出自艾青的哪首诗?? 谁有艾青的"开花的大地,解冻的河流"的全文 解冻的小河似乎是什么用比喻 快乐是什么,去问开化的大地,去问解冻的河流仿写 为什么初春上游的河流比下游的河流先解冻?谢谢!例如黄河。 大家来推荐几个好看的几个头像