对商品价格进行排序,用intValue不严谨

对商品价格进行排序,用intValue不严谨

问题描述:

对商品价格进行排序,用intValue不严谨

http://img1.sycdn.imooc.com//climg/5ffe3bc408e4f80307270176.jpg

尝试过的解决方式:

虽然老师在示例中填写的价格都是整数,但也仅仅是整数的时候结果不会受影响

既然老师定义了价格是double类型的,那么会有一种情况,万一price2-price1 = 0.1,这种怎么办呢,如果用intValue来取浮点数的整数位,那就是等于0,这样的化运行结果就是错误的,我说的对吗

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

 同学你好,1. 排序是根据返回的值进行排序的。compare()方法用来比较用来排序的两个参数。方法返回对象.compareTo(参数),在进行排序时,如果两个数比较结果大于0,就把前一个数和后一个数交换,也就是把大的数放后面了。如果比较结果小于等于0,不进行交换。最终形成升序排序。

2. 综上所述,是会出现同学所描述的情况。当price2-price1 差小于1时,则会出现偏差。此时,同学可以需求进行判断。如下所示:

http://img1.sycdn.imooc.com//climg/5ffe927309c3d6cc07530403.jpg



祝学习愉快!

  • WittChen 提问者 #1

    可是new Double(0.1).intValue出来的是0,这里没问题吗?

    2021-01-13 12:34:45
  • WittChen 提问者 #2

    http://img1.sycdn.imooc.com//climg/5ffe3bc408e4f80307270176.jpg

    用intValue针没问题吗?

    2021-01-13 12:36:30
  • 好帮手慕小尤 回复 提问者 WittChen #3

    同学你好,是会出现同学描述的问题,刚老师理解存在一点问题,先已修改回答,同学可以进行查看。

    给您的学习带来不便,深感抱歉!祝学习愉快!

    2021-01-13 14:30:48
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师