java自学网VIP

Java自学网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4827|回复: 5

字符类型转换精度问题

[复制链接]

该用户从未签到

1

主题

3

帖子

15

积分

普通会员

Rank: 2

积分
15
发表于 2014-11-27 15:14:02 | 显示全部楼层 |阅读模式
本帖最后由 善解人衣 于 2014-11-27 15:17 编辑
1 X" C  V8 b0 y3 q
  G$ h8 c7 ]: u; ]如下
+ C: y* N9 s3 v3 m5 J6 c& ~public static void main(String[] args) {
" d: [! m+ k( z, B% C6 j" b        double a= Double.parseDouble("19.9");4 Z8 Y3 U3 C" b. B
        String d = String.valueOf(a* 100);- V/ `* G: X! w7 U7 n, r
        Double dd = Double.parseDouble(d);
. g' |* S! [1 |2 k# Q        int i=dd.intValue();
# @: K7 o$ R8 |/ u# w        System.out.println(i);
8 m( e3 |+ |+ a3 C0 l    }
6 g5 m2 X, A% e3 p% \- o8 Z5 ?( l  l6 V' E1 g- L. {

& t$ M# W; l5 U* }. q: [  l结果是:1989
' _  z, L8 C# ~% j为什么,哪里转换出了问题。
6 [1 [7 c7 T* f; T" h$ m. N: Z& f: U4 f. F
回复

使用道具 举报

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

    [LV.Master]出神入化

    2025

    主题

    3683

    帖子

    6万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    66345

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

    发表于 2014-11-27 15:40:14 | 显示全部楼层
    java中double的运算都要转化为bigdecimal来计算,否则容易产生精度问题。# N+ w4 X8 l% K% c9 D& o# t
    具体调整:) E3 }& w2 t$ ~/ J. y0 Q: A* w
    将:String d = String.valueOf(a* 100);  改为4 T$ W: S4 t8 p- H6 U
    String d = String.valueOf(mul(a,100));
    7 B+ Z( }1 G, N* v! m+ J8 X/ i3 X/ T7 Q; f
    增加方法:$ q) P  k  D7 p0 n. h5 Y
    public static double mul(double d1,double d2){ 4 ]8 w2 s6 `% g3 v" [4 {+ ^
            BigDecimal bd1 = new BigDecimal(Double.toString(d1)); " j  v: v+ F8 e" L
            BigDecimal bd2 = new BigDecimal(Double.toString(d2)); 4 P2 l4 a% T+ {% }8 V5 S
            return bd1.multiply(bd2).doubleValue(); & W+ @/ q% P' c$ O+ {* t4 x4 [
        }
    回复 支持 反对

    使用道具 举报

  • 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

    主题

    4075

    帖子

    8501

    积分

    普通会员

    Rank: 2

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

    使用道具 举报

    该用户从未签到

    0

    主题

    81

    帖子

    176

    积分

    普通会员

    Rank: 2

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

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-11-21 17:37 , Processed in 0.128952 second(s), 32 queries .

    Powered by Javazx

    Copyright © 2012-2022, Javazx Cloud.

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