java自学网VIP

Java自学网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4996|回复: 5

字符类型转换精度问题

[复制链接]

该用户从未签到

1

主题

3

帖子

15

积分

普通会员

Rank: 2

积分
15
发表于 2014-11-27 15:14:02 | 显示全部楼层 |阅读模式
本帖最后由 善解人衣 于 2014-11-27 15:17 编辑
6 y9 [+ T' _9 [* V* q' z! t9 i2 d8 D% U# f; `( Q' _
如下& O/ Q$ w, W1 P) A- N* }; b
public static void main(String[] args) {
, N8 r% l8 `' @" F3 V6 D        double a= Double.parseDouble("19.9");2 I+ U5 Q: z( s5 P0 i% H
        String d = String.valueOf(a* 100);
6 }& V8 H2 I/ Y9 p. t        Double dd = Double.parseDouble(d);9 [- {( ^: @: ?. P+ p; t
        int i=dd.intValue();. A; Q3 e" q2 U5 u# z& _1 V
        System.out.println(i);
9 ^( o. N. M' s5 L    }
1 \# `* R+ v! r4 M. J. m5 P/ U! n' }3 Y+ b4 O; c

  v6 m- L5 ]6 \' k8 {- z结果是:1989/ y. Z' h' j) w1 x; V0 _" m
为什么,哪里转换出了问题。. C6 F" K% _& T) e) y( F5 t- t% ]4 q4 F
0 N! E( z( J8 X* i- Y" w" B
回复

使用道具 举报

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

    [LV.Master]出神入化

    2025

    主题

    3683

    帖子

    6万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    66375

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

    发表于 2014-11-27 15:40:14 | 显示全部楼层
    java中double的运算都要转化为bigdecimal来计算,否则容易产生精度问题。1 B5 H6 z) q6 d
    具体调整:
    ( @3 C/ _- |, I+ f- D6 f# V  f& Y将:String d = String.valueOf(a* 100);  改为
    ; _! ~* Q! L0 X, A# S/ \* tString d = String.valueOf(mul(a,100));* c; b. l8 S" b) n" ?

    # K  r/ R" R" ~增加方法:+ s: P8 k; U! X. L, K
    public static double mul(double d1,double d2){ ! G1 V- r, R. r% O7 P; C
            BigDecimal bd1 = new BigDecimal(Double.toString(d1));
    4 q- G+ Z) @# l) T& v        BigDecimal bd2 = new BigDecimal(Double.toString(d2));
    5 |# h1 ~7 q" c6 f        return bd1.multiply(bd2).doubleValue();
    3 f3 n6 P, D2 v# c- K    }
    回复 支持 反对

    使用道具 举报

  • 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

    主题

    4183

    帖子

    8717

    积分

    普通会员

    Rank: 2

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

    使用道具 举报

    该用户从未签到

    0

    主题

    81

    帖子

    176

    积分

    普通会员

    Rank: 2

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

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-12-22 09:23 , Processed in 0.125441 second(s), 32 queries .

    Powered by Javazx

    Copyright © 2012-2022, Javazx Cloud.

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