java自学网VIP

Java自学网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4164|回复: 5

字符类型转换精度问题

[复制链接]

该用户从未签到

1

主题

3

帖子

15

积分

普通会员

Rank: 2

积分
15
发表于 2014-11-27 15:14:02 | 显示全部楼层 |阅读模式
本帖最后由 善解人衣 于 2014-11-27 15:17 编辑
3 D6 h/ U* i0 Q/ y6 {' O. O) L' k( e
如下" x3 C# x1 _3 ?, o" ]0 E
public static void main(String[] args) {; ]' ~. q9 D2 \+ I
        double a= Double.parseDouble("19.9");8 e% o! o5 j- w6 c7 z- Y2 ?& S, B2 G
        String d = String.valueOf(a* 100);# W( ^3 k4 M5 r
        Double dd = Double.parseDouble(d);
+ P# d+ j6 u  z" U1 l5 s        int i=dd.intValue();  E. \9 _" x7 I& {' C1 ~  }
        System.out.println(i);. ~8 C' ]& g" J1 l
    }
3 a% q. J: b( U3 y. o' N2 O2 e0 ~! S% T1 w9 s
! E$ F  R6 [* o$ s
结果是:1989
9 l6 D/ }4 y6 I9 c# {为什么,哪里转换出了问题。
" a5 d* k6 A' f+ t0 j# _% p) H2 M) P- s6 m
回复

使用道具 举报

  • TA的每日心情
    开心
    2021-5-25 00:00
  • 签到天数: 1917 天

    [LV.Master]出神入化

    2025

    主题

    3683

    帖子

    6万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    66151

    宣传达人突出贡献优秀版主荣誉管理论坛元老

    发表于 2014-11-27 15:40:14 | 显示全部楼层
    java中double的运算都要转化为bigdecimal来计算,否则容易产生精度问题。1 P( k1 }% e# c; j  E
    具体调整:
    ; [& y7 j& h* S7 L5 d; O0 ~  R/ w将:String d = String.valueOf(a* 100);  改为
    8 P( L0 B" Y/ @/ RString d = String.valueOf(mul(a,100));
    $ F! F/ ?# l$ W
    , t8 T! `) D) S增加方法:7 s$ `. S& y& l, `4 V, Y: P
    public static double mul(double d1,double d2){ 0 f( i$ k% l) ?& u3 ?* i
            BigDecimal bd1 = new BigDecimal(Double.toString(d1)); . a9 m3 G, |  p/ R2 T; x: B! ^+ s
            BigDecimal bd2 = new BigDecimal(Double.toString(d2)); ( m) b4 ^! K$ k. S- i3 _3 a5 ?
            return bd1.multiply(bd2).doubleValue();
    2 f6 R" ^8 h- U+ j    }
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2021-5-10 20:36
  • 签到天数: 50 天

    [LV.5]渐入佳境

    2

    主题

    68

    帖子

    917

    积分

    终身VIP

    Rank: 60Rank: 60Rank: 60Rank: 60Rank: 60Rank: 60Rank: 60Rank: 60Rank: 60Rank: 60Rank: 60Rank: 60Rank: 60Rank: 60Rank: 60

    积分
    917
    发表于 2015-4-15 15:49:11 | 显示全部楼层
    不错的 涨姿势了啊  呵呵
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2021-5-10 20:36
  • 签到天数: 50 天

    [LV.5]渐入佳境

    2

    主题

    68

    帖子

    917

    积分

    终身VIP

    Rank: 60Rank: 60Rank: 60Rank: 60Rank: 60Rank: 60Rank: 60Rank: 60Rank: 60Rank: 60Rank: 60Rank: 60Rank: 60Rank: 60Rank: 60

    积分
    917
    发表于 2015-4-15 15:49:49 | 显示全部楼层
    就喜欢学这样比较细微的知识的
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-2-16 15:47
  • 签到天数: 17 天

    [LV.4]略有小成

    0

    主题

    3454

    帖子

    7259

    积分

    普通会员

    Rank: 2

    积分
    7259
    发表于 2015-4-15 15:51:17 | 显示全部楼层
    我这里精度转换也老是出问题的啊啊  没得办法啊
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    81

    帖子

    176

    积分

    普通会员

    Rank: 2

    积分
    176
    发表于 2022-7-8 13:47:27 | 显示全部楼层
    感谢楼主  
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|小黑屋|Java自学网

    GMT+8, 2024-6-10 18:56 , Processed in 0.069996 second(s), 38 queries .

    Powered by Javazx

    Copyright © 2012-2022, Javazx Cloud.

    快速回复 返回顶部 返回列表