java自学网VIP

Java自学网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 5113|回复: 5

字符类型转换精度问题

[复制链接]

该用户从未签到

1

主题

3

帖子

15

积分

普通会员

Rank: 2

积分
15
发表于 2014-11-27 15:14:02 | 显示全部楼层 |阅读模式
本帖最后由 善解人衣 于 2014-11-27 15:17 编辑
2 s. {% C4 O* W8 V) o+ v& A6 U! x/ ^) ]) E5 v% E2 ^# R4 l
如下% S+ n3 Z6 c0 ]+ p
public static void main(String[] args) {
. Q$ H, r' E1 Y3 G        double a= Double.parseDouble("19.9");
5 n- X! z) ^6 I) _1 t8 T$ u/ t        String d = String.valueOf(a* 100);( [9 {" u. Y0 t% ^1 s
        Double dd = Double.parseDouble(d);/ Z2 w+ i! T7 f8 i
        int i=dd.intValue();
* [( O& c! B, E6 g$ ~! j- |        System.out.println(i);5 z8 F- v$ t8 r* h3 m
    }
) {6 ~- b( o- C& c7 W) b
; V: ^$ x- C% T. H: M  G- r- G% q* [" O, u5 Y
结果是:1989
8 P1 Q5 e* m( u9 f; @& U& Z为什么,哪里转换出了问题。
$ k0 m) Q7 a4 e; a6 D! C4 `3 j: T' w' Z, e* O1 `, h, L) D2 Z7 _( U" m
回复

使用道具 举报

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

    [LV.Master]出神入化

    2039

    主题

    3697

    帖子

    6万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    66471

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

    发表于 2014-11-27 15:40:14 | 显示全部楼层
    java中double的运算都要转化为bigdecimal来计算,否则容易产生精度问题。
    - K8 I9 }$ I9 Y8 V- V具体调整:8 o0 U$ V! G. N. K/ N$ C" b
    将:String d = String.valueOf(a* 100);  改为0 G6 w8 x( X3 Z" R: z- o
    String d = String.valueOf(mul(a,100));
    & f  r6 R+ N+ N* _# J5 s$ Z) p5 A$ }- `$ W
    增加方法:
    ; R7 g3 [; ~  M4 u% Jpublic static double mul(double d1,double d2){
    . h; `: K" Q2 }( R6 ^        BigDecimal bd1 = new BigDecimal(Double.toString(d1));
    - m, D1 S8 O+ D7 ~        BigDecimal bd2 = new BigDecimal(Double.toString(d2)); ) w- E) X! I% s7 m
            return bd1.multiply(bd2).doubleValue();
    0 t7 J, E1 l- \    }
    回复 支持 反对

    使用道具 举报

  • 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

    主题

    4313

    帖子

    8977

    积分

    普通会员

    Rank: 2

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

    使用道具 举报

    该用户从未签到

    0

    主题

    81

    帖子

    176

    积分

    普通会员

    Rank: 2

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

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2025-1-22 12:37 , Processed in 0.196693 second(s), 32 queries .

    Powered by Javazx

    Copyright © 2012-2022, Javazx Cloud.

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