黑马程序员技术交流社区

标题: 想了很久都没想出来,求解? [打印本页]

作者: 刘丰伟    时间: 2012-12-31 21:11
标题: 想了很久都没想出来,求解?
对于一个double类型的数字我们如何用代码的方法区分是010还是10,也就是前面的0用什么方法可以判断有无
作者: 王少雷    时间: 2012-12-31 21:19
定义一个double在内存中 就相当 于是 定义了这种类型,指定了一定的字节
你想看看有什么 不同,转换另一种字节看看。
作者: 马志军    时间: 2012-12-31 21:21
不太明白你问的什么意思。0作前缀是八进制数,与十进制10没关系
作者: 冉世友    时间: 2012-12-31 21:56
哥们,刚用下面代码试了下,第一个打印false,第二个打印8
不管变量y前面有多少个0,打印结果都是8,
看来不管前面有多少个0,0作为前缀表,8进制数了。

double x = 10;
double y = 0000000010;
System.out.println(x == y);
System.out.println((int)y);
作者: 张会文    时间: 2013-1-1 09:47
本帖最后由 张会文 于 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. }


复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2