java自学网VIP

Java自学网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4896|回复: 5

字符类型转换精度问题

[复制链接]

该用户从未签到

1

主题

3

帖子

15

积分

普通会员

Rank: 2

积分
15
发表于 2014-11-27 15:14:02 | 显示全部楼层 |阅读模式
本帖最后由 善解人衣 于 2014-11-27 15:17 编辑
* F. U. X  U6 ]6 h8 `
! e& S; T" X: R$ F' B如下$ G! s- b$ f5 @- t1 s
public static void main(String[] args) {
/ r& ~$ X4 w. L6 p8 u3 w! i  `& ^        double a= Double.parseDouble("19.9");1 x: E1 @) U7 ?
        String d = String.valueOf(a* 100);. l3 T* M; k1 T& q8 @; ~' u
        Double dd = Double.parseDouble(d);
/ q3 P+ q5 f4 |' a; E$ K$ Z" i/ p        int i=dd.intValue();  l6 s: Y. ]; _, J$ ?/ A
        System.out.println(i);3 U% {/ O% H6 N+ f3 n  x. N$ r7 S/ n
    }' K7 p2 K, L) W9 Y
- g" T) T+ b! l% [

/ o! z# Y1 `, ?5 ]) R结果是:1989' B" g5 p- r0 u7 J4 b
为什么,哪里转换出了问题。
+ l7 ]+ v2 p8 v. S+ x, T" o1 ?7 Q8 Q1 Z% n( w) R4 z# X
回复

使用道具 举报

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

    [LV.Master]出神入化

    2025

    主题

    3683

    帖子

    6万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    66353

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

    发表于 2014-11-27 15:40:14 | 显示全部楼层
    java中double的运算都要转化为bigdecimal来计算,否则容易产生精度问题。. Z6 t# N6 `3 o8 E0 k+ G& ?
    具体调整:: @, f! R6 i5 m. A5 \* L6 q
    将:String d = String.valueOf(a* 100);  改为
    7 t# R& X& r& ^$ R, Q7 n, FString d = String.valueOf(mul(a,100));7 k" e4 _0 l; i" R2 ]  s

    8 r* R1 f4 Z! f, p增加方法:8 |6 d5 Z# Z1 }& O. D6 U2 }; L
    public static double mul(double d1,double d2){ $ j" Z4 x$ E3 U9 D
            BigDecimal bd1 = new BigDecimal(Double.toString(d1));
    4 F7 p9 F4 l" o# i) T! o        BigDecimal bd2 = new BigDecimal(Double.toString(d2)); ; f" D& B* D3 a" O
            return bd1.multiply(bd2).doubleValue();
    & s" N, j4 |5 v1 a  _    }
    回复 支持 反对

    使用道具 举报

  • 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

    主题

    4114

    帖子

    8579

    积分

    普通会员

    Rank: 2

    积分
    8579
    发表于 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-4 00:43 , Processed in 0.094415 second(s), 31 queries .

    Powered by Javazx

    Copyright © 2012-2022, Javazx Cloud.

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