草庐IT

double-byte

全部标签

java - 如何测试 double 是否为零?

我有一些这样的代码:classFoo{publicdoublex;}voidtest(){Foofoo=newFoo();//Isthisavalidwaytotestforzero?'x'hasn'tbeensettoanythingyet.if(foo.x==0){}foo.x=0.0;//Willthesametestbevalid?if(foo.x==0){}}我基本上是想避免将来出现被零除的异常。谢谢 最佳答案 类范围内的数值原语在未显式初始化时被初始化为零。本地范围内的数字原语(方法中的变量)必须显式初始化。如果您只担心

java - 将 byte[] 转换为数据 URI 的 Base64 字符串

我知道这可能已经被问了10000次,但是,我似乎无法找到这个问题的直接答案。我的数据库中存储了一个代表图像的LOB;我从数据库中获取该图像,我想通过HTMLIMG标记在网页上显示它。这不是我的首选解决方案,但在我找到更好的解决方案之前,这是一个权宜之计。我正在尝试通过以下方式使用ApacheCommonsCodec将byte[]转换为Base64:Stringbase64String=Base64.encodeBase64String({mybyte[]});然后,我试图在我的页面上显示我的图像,如下所示:它显示的是浏览器默认的“我找不到这个图片”,图片。有人有什么想法吗?谢谢。

java - 为什么只有在 short 是 final 时才将 short 分配给 byte ?

有人可以解释为什么以下编译:finalshorts1=1;finalcharc1=1;byteb1=s1;byteb2=c1;但以下没有(编译器错误信息是Typemismatch:cannotconvertfromshorttobyte):shorts1=1;charc1=1;byteb1=s1;byteb2=c1; 最佳答案 答案在JLS-5.2.AssignmentConversion:..iftheexpressionisaconstantexpression(§15.28)oftypebyte,short,char,orin

java - 如何使用特定语言环境在 Java 中将 String 转换为 Double?

我想将我作为字符串获得的一些数字转换为double,但这些数字不在美国标准语言环境中,而是在不同的语言环境中。我该怎么做? 最佳答案 试试java.text.NumberFormat.来自Javadocs:ToformatanumberforadifferentLocale,specifyitinthecalltogetInstance.NumberFormatnf=NumberFormat.getInstance(Locale.FRENCH);YoucanalsouseaNumberFormattoparsenumbers:myN

java - 如何从 double 中删除尾随零

这个问题在这里已经有了答案:Howtonicelyformatfloatingnumberstostringwithoutunnecessarydecimal0's(28个回答)关闭9年前。例如我需要5.0变成5,或者4.3000变成4.3。 最佳答案 你应该使用DecimalFormat("0.#")对于4.3000Doubleprice=4.3000;DecimalFormatformat=newDecimalFormat("0.#");System.out.println(format.format(price));输出是:4

java - float 或 double 的 NaN 和 Infinity 如何存储在内存中?

据我了解,java会将float作为具有以下属性的32位整数存储在内存中:第一位用于确定符号接下来的8位代表指数最后23位用于存储小数这没有为三种特殊情况留下多余的位:NaN正无穷负无穷我可以猜到负0可以用来存储其中一个。这些实际上是如何在内存中表示的? 最佳答案 Java指定float遵循IEEE754标准。这是它的存储方式:位0:符号位位1到11:指数第12至63位:分数现在,我用不同的double值执行了以下方法:publicstaticvoidprint(doubled){System.out.println(Long.to

java - ClassCastException,将 Integer 转换为 Double

ArrayListmarks=newArrayList();Doublesum=0.0;sum=((Double)marks.get(i));每次我尝试运行我的程序时,都会收到一个ClassCastException,指出:java.lang.Integercannotbecasttojava.lang.Double 最佳答案 我们可以将int强制转换为double但我们不能对包装类Integer和Double做同样的事情:inta=1;Integerb=1;//inboxing,requiresJava1.5+doublec=(d

java - 为什么 Byte.compare() 和 Integer.compare() 的实现方式不同?

我正在研究OpenJDK的源码。Byte.compare()和Integer.compare()方法吸引了我的注意力:publicstaticintByte.compare(bytex,bytey){returnx-y;}publicstaticintInteger.compare(intx,inty){return(x为什么Byte.compare()和Integer.compare()方法有不同的实现方式? 最佳答案 Integer.compare的实现不使用减法,因为如果将接近Integer.MIN_VALUE的整数与另一个接

java - 在 Java 中 : How to zip file from byte[] array?

我的应用程序正在通过SMTP服务器接收电子邮件。电子邮件中有一个或多个附件,并且电子邮件附件返回为byte[](使用sunjavamailapi)。我正在尝试即时压缩附件文件而不先将它们写入磁盘。什么是/是可能的方式来实现这一结果? 最佳答案 您可以使用Java的java.util.zip.ZipOutputStream在内存中创建一个zip文件。例如:publicstaticbyte[]zipBytes(Stringfilename,byte[]input)throwsIOException{ByteArrayOutputStre

java - 如何将字节数组转换为 double 并返回?

为了将字节数组转换为double,我发现了这个://convert8bytearraytodoubleintstart=0;//???inti=0;intlen=8;intcnt=0;byte[]tmp=newbyte[len];for(i=start;i但我找不到任何可以将double转换为字节数组的东西。 最佳答案 甚至更简单,importjava.nio.ByteBuffer;publicstaticbyte[]toByteArray(doublevalue){byte[]bytes=newbyte[8];ByteBuffer