java自学网VIP

Java自学网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 5219|回复: 5

字符类型转换精度问题

[复制链接]

该用户从未签到

1

主题

3

帖子

15

积分

普通会员

Rank: 2

积分
15
发表于 2014-11-27 15:14:02 | 显示全部楼层 |阅读模式
本帖最后由 善解人衣 于 2014-11-27 15:17 编辑
4 K* Y$ T* `9 f- n$ y" }3 u7 N
% u; p) S+ N. A7 y& c* X如下
6 i0 v% H+ w. y' epublic static void main(String[] args) {/ B3 P" [7 ?2 P5 t( L8 i
        double a= Double.parseDouble("19.9");
, x9 B1 Y2 d8 J* B/ n' w( `3 a        String d = String.valueOf(a* 100);" Y) Z8 c. n! ]: Q
        Double dd = Double.parseDouble(d);" P( _% `$ h: s+ G1 r" A
        int i=dd.intValue();
* n* F5 L/ t+ M3 T& s0 ^( o& x        System.out.println(i);
% r6 m: s( w' O    }7 Z( C0 X# A. S( f* c
3 g  E5 y" }- }
5 B# L4 F. \$ l5 K
结果是:1989- e$ B8 r: C% f6 Q' c3 S2 p
为什么,哪里转换出了问题。( A) L" n1 [1 ^: D/ |5 n& i

* W$ t4 O, z2 S$ Q; T* t0 P
回复

使用道具 举报

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

    [LV.Master]出神入化

    2062

    主题

    3720

    帖子

    6万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    66592

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

    发表于 2014-11-27 15:40:14 | 显示全部楼层
    java中double的运算都要转化为bigdecimal来计算,否则容易产生精度问题。$ c- j; h+ x$ D
    具体调整:6 T2 U& A0 k3 Q! p8 F1 R9 L( [, `
    将:String d = String.valueOf(a* 100);  改为+ y% n$ Z5 R* T9 o0 `! H; a; l
    String d = String.valueOf(mul(a,100));1 L' U1 L7 `( k, F6 R; j1 {7 U& ^

    . N* F2 l/ _( `3 @增加方法:0 |+ V% u/ T. J/ ]0 }$ D
    public static double mul(double d1,double d2){
    / M- Q) a0 Q, _        BigDecimal bd1 = new BigDecimal(Double.toString(d1)); . O$ \$ D# ~, ^/ j& h
            BigDecimal bd2 = new BigDecimal(Double.toString(d2)); 3 L; A2 G0 i& M
            return bd1.multiply(bd2).doubleValue(); " d- U/ I( @7 d# G( f
        }
    回复 支持 反对

    使用道具 举报

  • 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

    主题

    4424

    帖子

    9199

    积分

    普通会员

    Rank: 2

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

    使用道具 举报

    该用户从未签到

    0

    主题

    81

    帖子

    176

    积分

    普通会员

    Rank: 2

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

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2025-2-23 04:19 , Processed in 0.209741 second(s), 30 queries .

    Powered by Javazx

    Copyright © 2012-2022, Javazx Cloud.

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