java自学网VIP

Java自学网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 5338|回复: 5

字符类型转换精度问题

[复制链接]

该用户从未签到

1

主题

3

帖子

15

积分

普通会员

Rank: 2

积分
15
发表于 2014-11-27 15:14:02 | 显示全部楼层 |阅读模式
本帖最后由 善解人衣 于 2014-11-27 15:17 编辑
- q- U! K/ p' |" r9 p. w4 S3 [: E  ], I$ l: _4 X4 T
如下7 k  I  @2 ?" p5 F
public static void main(String[] args) {
$ ]4 p2 A6 j. B) r5 r        double a= Double.parseDouble("19.9");3 z- q* l2 ~$ d: r, t2 j# U5 E7 X
        String d = String.valueOf(a* 100);
$ G- ^" U6 P% o: U! Y+ u# v$ X; @        Double dd = Double.parseDouble(d);
. r5 \& [+ y5 m/ W* V# C        int i=dd.intValue();
  p; b" H! _1 t% w! h) H8 M        System.out.println(i);3 O* o. N/ o7 ^' E  W3 U
    }
7 T/ J* l* z) n8 d# R1 l. @
! \  S# {9 G  W+ S* _) @2 t: p  q; e9 n. W! s% `' A
结果是:1989* k9 ]$ s" l3 B8 n' c
为什么,哪里转换出了问题。
# I4 |* o* C& Z: B' m& w+ j! u) x% n( x' Z& H( |; A! M
回复

使用道具 举报

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

    [LV.Master]出神入化

    2095

    主题

    3753

    帖子

    6万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    66783

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

    发表于 2014-11-27 15:40:14 | 显示全部楼层
    java中double的运算都要转化为bigdecimal来计算,否则容易产生精度问题。$ E# S2 s/ M$ u  A
    具体调整:
    * A' k6 u# R( O将:String d = String.valueOf(a* 100);  改为, ?: r4 J$ b: l' q! m% o+ u
    String d = String.valueOf(mul(a,100));# T% Q( x2 r4 W: U6 h

    - P. j' b8 ]) L6 D8 ]( X  r" C增加方法:
    / y  S4 H+ j( E# s0 l# vpublic static double mul(double d1,double d2){
    . t6 D$ V+ I+ x6 N* v- [        BigDecimal bd1 = new BigDecimal(Double.toString(d1));   ~3 d2 ?3 f( f. h( C
            BigDecimal bd2 = new BigDecimal(Double.toString(d2)); ; v" ~, j* M+ D5 F) Q
            return bd1.multiply(bd2).doubleValue(); + X3 z3 d0 u9 q
        }
    回复 支持 反对

    使用道具 举报

  • 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

    主题

    4607

    帖子

    9565

    积分

    普通会员

    Rank: 2

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

    使用道具 举报

    该用户从未签到

    0

    主题

    81

    帖子

    176

    积分

    普通会员

    Rank: 2

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

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2025-4-1 00:01 , Processed in 0.091346 second(s), 31 queries .

    Powered by Javazx

    Copyright © 2012-2022, Javazx Cloud.

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