佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 1300|回复: 7

JAVA Double 问题 如何自捉 Double 的value里的小数点?

[复制链接]
发表于 3-4-2008 02:07 PM | 显示全部楼层 |阅读模式
如何自捉 Double 的value里的小数点?
e.g.
     double abcd =123456789012345.99;
     我要的是 0.99。
不能用decimal format.
回复

使用道具 举报


ADVERTISEMENT

发表于 3-4-2008 03:05 PM | 显示全部楼层
double abcd =123456789012345.99;
double ABC = (double) (abcd - (int) abcd);
回复

使用道具 举报

 楼主| 发表于 3-4-2008 03:36 PM | 显示全部楼层
不能,还有的是
java 里 (123456789012345.99 -123456789012345)是不等于 0.99 的
回复

使用道具 举报

发表于 4-4-2008 12:08 AM | 显示全部楼层
这样能吗?

public class t1
{
        public static void main(String args[])
        {
                double a = 123456789.99d;
                float f = (float)(a-(long)a);
                System.out.println(String.valueOf(f));
        }
}
回复

使用道具 举报

 楼主| 发表于 4-4-2008 09:26 AM | 显示全部楼层
谢谢BC2207,当数字小过10 degit的时候,答案是0.99,第十一个开始就不准了。
         double a = 12345678901.99;
         float f = (float)(a-(long)a);
         System.out.println(String.valueOf(f));
answer
0.9899998
但是还是很感谢你
回复

使用道具 举报

 楼主| 发表于 4-4-2008 09:42 AM | 显示全部楼层
问题解决了,
         double a = 12345678901234.99*100;
         String f = Long.toString(((long) a)%100);
         System.out.println(String.valueOf(f));

数目不能超过14个,要不问题还是会出现。
回复

使用道具 举报

Follow Us
发表于 5-4-2008 02:34 AM | 显示全部楼层
不知道可以double a 的value是user key in的吗?如果是,那可否当成String 来做?

public String dec(String str)
        {
                String delimeter = "\\.";
                String [] tmp = str.split(delimeter);
                if(!String.valueOf(tmp).equals("null" && tmp.length <=2)
                {
                        if(tmp.length==2)
                        {
                                return "0."+tmp[1];
                        }
                        else
                        {
                                return "0";
                        }
                }
                else
                {
                        return "Invalid number";
                }
        }

好奇一下,这么大的value,用来算什么?如果是算我的薪水就太好了!!
回复

使用道具 举报

 楼主| 发表于 7-4-2008 09:52 AM | 显示全部楼层
haha...差不多,但是不是薪水,是保险费.... 印尼盾...哈哈所以才那么大
谢了.
回复

使用道具 举报


ADVERTISEMENT

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

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 1-1-2026 06:30 AM , Processed in 0.134701 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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