A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘丰伟 中级黑马   /  2012-12-31 21:11  /  1221 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

对于一个double类型的数字我们如何用代码的方法区分是010还是10,也就是前面的0用什么方法可以判断有无

评分

参与人数 1技术分 +1 收起 理由
奋斗的青春 + 1 补足你的技术分。

查看全部评分

4 个回复

倒序浏览
定义一个double在内存中 就相当 于是 定义了这种类型,指定了一定的字节
你想看看有什么 不同,转换另一种字节看看。
回复 使用道具 举报
不太明白你问的什么意思。0作前缀是八进制数,与十进制10没关系
回复 使用道具 举报
哥们,刚用下面代码试了下,第一个打印false,第二个打印8
不管变量y前面有多少个0,打印结果都是8,
看来不管前面有多少个0,0作为前缀表,8进制数了。

double x = 10;
double y = 0000000010;
System.out.println(x == y);
System.out.println((int)y);

评分

参与人数 1技术分 +1 收起 理由
奋斗的青春 + 1 赞一个!

查看全部评分

回复 使用道具 举报
本帖最后由 张会文 于 2013-1-1 14:34 编辑

对于你的问题我很是郁闷,首先,float型是不能写成0010的,哎给你代码吧!我写了好一会儿的!

  1. public class Shuzi {
  2.         public static void main(String[] args){
  3.                 float a=0.012f;
  4.                 //把数字转化为字符串
  5.                 String s1=String.valueOf(a);
  6.                 //把字符串转化为字符数组
  7.                 char[] s2=s1.toCharArray();
  8.                 //boolean b=str.contains("3");
  9.                 if(s2[0]=='0'){
  10.                         System.out.println("首位数字是0");
  11.                 }
  12.                 else
  13.                 {
  14.                         System.out.println("首位数字不是0");
  15.                 }
  16.                
  17.         }
  18.                        
  19. }


复制代码

评分

参与人数 1技术分 +1 收起 理由
奋斗的青春 + 1 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马