草庐IT

double-byte

全部标签

java - “Type mismatch: cannot convert int to byte”

我看到有人问关于错误“类型不匹配:无法将int转换为字节”的问题。但它们大多是由涉及的算术运算引起的。这是我的案例:(当我想在EclipseKepler中玩位时会发生这种情况)//java7binaryliteralsbytea=0b01111111;//8-bititcompilesbyteb=0b10000000;//8-biterror:Typemismatch:cannotconvertinttobyte.bytec=(byte)0b10000000;//8-bititworksfineifcasted.问题是,如果它是8位并且最高位是1,那么编译器会给出错误。我想知道为什么。

java - 如何检查 double 是否最多有 n 位小数?

目前我有这个方法:staticbooleancheckDecimalPlaces(doubled,intdecimalPlaces){if(d==0)returntrue;doublemultiplier=Math.pow(10,decimalPlaces);doublecheck=d*multiplier;check=Math.round(check);check=check/multiplier;return(d==check);}但此方法对于checkDecmialPlaces(649632196443.4279,4)失败可能是因为我在基数2上进行基数10的数学计算。那么如何才能

java - 格式化 double 以省略不必要的 ".0"并且从不四舍五入

这个问题在这里已经有了答案:Howtonicelyformatfloatingnumberstostringwithoutunnecessarydecimal0's(28个答案)关闭9年前。我知道如何格式化double以仅保留可用的小数位(DP),最多保留一定数量的DP。此示例最多保留4个DP。doubled=1.0;DecimalFormatdf=newDecimalFormat("#.####");System.out.print(df.format(d));//returns"1"doubled=1.23;DecimalFormatdf=newDecimalFormat("#.#

java - 在 Java 中将 bytes 转换为 String 时会发生什么?

我在Java中尝试将字节转换为字符串时遇到问题,代码如下:byte[]bytes={1,2,-3};byte[]transferred=newString(bytes,Charsets.UTF_8).getBytes(Charsets.UTF_8);并且原始字节和传输字节不一样,分别是[1,2,-3][1,2,-17,-65,-67]我曾经认为这是由于UTF-8字符集映射为负数“-3”。所以我把它改成“-32”。但是传输的数组保持不变![1,2,-32][1,2,-17,-65,-67]所以我非常想知道当我调用newString(bytes)时到底发生了什么:)

java - 作为 byte[]、Key 或 String 的静态 secret ?

我已经开始使用JJWT在我的服务器应用程序上处理JWT。我的JWTsecret将存储在resources文件夹中,我将使用Properties类加载secret。JJWT提供了三种对JWT进行签名的方法,一种使用byte[],一种使用String,另一种使用Key:JwtBuildersignWith(SignatureAlgorithmvar1,byte[]var2);JwtBuildersignWith(SignatureAlgorithmvar1,Stringvar2);JwtBuildersignWith(SignatureAlgorithmvar1,Keyvar2);问题:关

java - 我应该在 TreeMap 中使用 Double 作为键吗?

如对DoubleinHashMap的回答中所述,Doubles不应在HashMap中使用,因为它们很难比较是否相等。我相信我的情况有所不同,但我想我会要求确认一下,因为我没有看到任何相关信息。我将有一系列与对象关联的double值,我希望它们按double值排序。TreeMap是合适的解决方案吗?会有更好的吗?double值是由一堆数学运算生成的,因此出现重复值的可能性极低。编辑:我应该澄清一下:我需要的只是让这个对象列表按照它们关联的double排序。double的值将被丢弃,我永远不会调用map.get(key) 最佳答案 Do

java - 通过引用传递 double 值

如何在java中通过引用传递double值?例子:Doublea=3.0;Doubleb=a;System.out.println("a:"+a+"b:"+b);a=5.0;System.out.println("a:"+a+"b:"+b);此代码打印:a:3b:3a:5b:3我的问题是让它打印:a:3b:3a:5b:5我的目标:我正在用jess编写一个专家系统,在那个应用程序中,一个段的长度会有一个double值,现在double值不在一个段中;它在许多其他部分、比例类等中,所有这些都在引用它,等待它发生变化,以便它们可能满足某些规则。如果我无法更改那个double值,我就无法触发包

java - 双倍我的钱 : my framework uses doubles for monetary amounts

我继承了一个项目,其中货币金额使用double类型。更要命的是,它用的框架,还有框架自带的类,用double换钱。框架ORM还处理从数据库检索值(和存储到数据库)。在数据库中,货币值的类型为number(19,7),但框架ORM将它们映射为double值。除了完全绕过框架类和ORM,我能做些什么来精确计算货币值(value)吗?编辑:是的,我知道应该使用BigDecimal。问题是我与一个框架紧密相关,例如,类framework.commerce.pricing.ItemPriceInfo有成员doublemRawTotalPrice;和双mListPrice。我公司的应用程序自己的代

java - 从一个字符串中获取一个 double

我有一个包含以下内容的字符串:“按你的方式做,11.95苏格兰的历史,14.50,一日学习微积分,29.95”有没有办法从这个字符串中获取double? 最佳答案 使用正则表达式提取double,然后Double.parseDouble()解析:Patternp=Pattern.compile("(\\d+(?:\\.\\d+))");Matcherm=p.matcher(str);while(m.find()){doubled=Double.parseDouble(m.group(1));System.out.println(d)

java - 如何映射 Map<String,Double>

我试过了@ManyToMany(cascade=CascadeType.ALL)Mapdata=newHashMap();但它会产生错误:org.hibernate.AnnotationException:Useof@OneToManyor@ManyToManytargetinganunmappedclass:com.company.Klass.data[java.lang.Double]atorg.hibernate.cfg.annotations.CollectionBinder.bindManyToManySecondPass(CollectionBinder.java:1016