【如何在Java中建立float和int值之间的双向一对一映射?】教程文章相关的互联网学习教程文章

Java:如何将二进制值的字符串转换为Float,反之亦然?【代码】

如何将12345.12346f的浮点值转换为二进制值的字符串,即“0011010101010101”,反之亦然?解决方法:我不确定它是你想要的,但是这里有一个解决方案,可以为浮点数提供IEEE 754浮点“双格式”位布局的二进制表示(它基本上是浮点数的内存表示):int intBits = Float.floatToIntBits(yourFloat); String binary = Integer.toBinaryString(intBits);对于相反的程序:int intBits = Integer.parseInt(myString, 2); float myFloat = Float....

java – 如何检查float是否具有整数值【代码】

如何检查输入值是整数还是浮点数? 假设312/100 = 3.12,这里我需要检查3.12是浮点数还是整数.解决方法:您应该检查该数字的小数部分是否为0.采用x==Math.ceil(x)要么x==Math.round(x)或类似的东西

java – 如何从float []获取流

当我注意到一些奇怪的东西时,我正在学习如何使用java 8流. Arrays.stream()有浮点数组的所有方法: > Arrays.stream(int []):IntStream> Arrays.stream(long []):LongStream> Arrays.stream(double []):DoubleStream 类似地,有int,double等的Stream实现,但不是浮点数: > IntStream> LongStream> DoubleStream 这有什么理由吗? 使用浮点流的推荐方法是什么?解决方法:来自Java SE 8 for Cay S. Horstmann的Really Impatient:2...

Java float保留两位小数或多位小数

方法 :用DecimalFormat 返回的是String格式的. float price=144635.61999999; DecimalFormat decimalFormat=new DecimalFormat(".00");//构造方法的字符格式这里如果小数不足2位,会以0补足. String p=decimalFomat.format(price);//format 返回的是字符串

Java:为什么需要在float文字中指定’f’?

参见英文答案 > why f is placed after float values? 7个为什么需要在float文字中指定后缀f?解决方法:因为否则它默认为double,这是一个比float更常用的浮点类型. 从Java Language Specification, section 3.10.2:A floating-point literal is of type float if it is suffixed with an ASCII letter F or f; otherwise its type is double and it can optionally be suffixed with an ASCII...

Java中的Float和double数据类型

浮点数据类型是单精度32位IEEE 754浮点数,双数据类型是双精度64位IEEE 754浮点数. 这是什么意思?什么时候应该使用float而不是double,反之亦然?解决方法:Wikipedia page就是一个很好的起点. 总结一下: > float以32位表示,带有1个符号位,8位指数和23位有效数字(或者从科学数字符号开始:2.33728 * 1012; 33728是有效数字).> double以64位表示,带有1个符号位,11位指数和52位有效位. 默认情况下,Java使用double来表示其浮点数(因此文...

显式类型转换vs使用后缀为float / double Java – 区别?【代码】

基于以下代码段:// as primitiveMyClass.primitiveMethod(double val); // method signatureMyClass.primitiveMethod(12); // ok// as objectMyClass.objectMethod(Double val); // method signatureMyClass.objectMethod(12); // errorMyClass.objectMethod(12d); // okMyClass.objectMethod((double)12); //okQ1:虽然12d和(double)12似乎都有效,但是在指定后缀和显式转换之间有什么区别吗? (行为/性能...

Java – if(Float.isNaN(x))【代码】

float aa = Float.valueOf(a.getText().toString());if (Float.isNaN(aa)){aa = 0;}我正在尝试检查用户没有输入,如果没有输入只是将其设为零,听起来很简单,但它不适合我.它是我的第一个Android应用程序,当没有用户输入并且用户按下go按钮时它崩溃.有人可以帮忙吗? 谢谢.解决方法:I’m trying to check for no input from the user and if there’s no input just make it zero.当没有输入或输入无效时,valueOf不返回NaN; it throw...

如何在Java中建立float和int值之间的双向一对一映射?

众所周知,float和int都需要4个字节来存储Java中的原始数组.因此,浮点值可以映射到具有相同内部32位表示的int值. 如何在float和int之间建立一个计算成本低廉的一对一映射?例如,映射可以将3.2345f映射到-67567575并将-67567575映射回接近3.2345f的值,并且可以覆盖大多数浮点值(可以忽略NaN或无穷大).映射的顺序或含义无关紧要. (我需要这个的原因是为了解决我正在实现的jcuda内核函数的问题;使用其他方法对我的问题更麻烦.需要直接回...

【Java】 float保留两位小数【代码】

前言:float是浮点数,有时需要做精确的位数处理 正文: 方法1float f = (float) 34.232323; BigDecimal b = new BigDecimal(f); float f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).floatValue(); //ROUND_HALF_UP表明四舍五入,ROUND_HALF_DOWN表明五舍六入,2:保留两位小数 方法2float f = 34.232323; DecimalFormat fmt = new DecimalFormat("##0.00"); String s = fmt.format(f); float f1 = Float.parseFloat(s);参考...

Java:d​​ouble to float类型转换为更大的值赋予’infinity’【代码】

假设我有一个带有一些随机较大值double类型的变量:double d = 4786777867867868654674678346734763478673478654478967.77;现在,如果我尝试在程序中的某个点将其转换为float,则输出显示“infinity”(在eclipse IDE中):float f = (float)d; // inifinty byte b = (byte)d; // some valid value short s = (short)d; // some valid value int i = (int)d; // some valid value有人可以给我任何有效的答案,它是如何...

Java:通过Float.floatToIntBits递增?【代码】

我需要原子地增加一个浮点值.我通过调用它上面的Float.floatToIntBits得到它的int值.如果我只是做一个i并将其转换回浮动,它不会给我预期的值.那我该怎么办呢? (我正在尝试通过AtomicInteger创建一个AtomicFloat,因此这个问题). 编辑:这是我做的:Float f = 1.25f; int i = Float.floatToIntBits(f); i++; f = Float.intBitsToFloat(i);我想要2.25,但却获得了1.2500001.解决方法:原因是你从floatToIntBits得到的位代表 >签字>指数...

java中的float和double的精度问题

计算器存储浮点数的方法:(用科学计数法存储) 将要存的数先转换为小数(0.xxxxxx)x10的n次幂的形式进行存储。 例如: 3.1415 将被转换为:0.31415 x 10^1 100000 将被转换为:0.1 x 10^6 首先申明一点,先范围(有效数字位,包括整数位和小数位),再精度。 【“单精度用float表示,在计算机中使用4位字节(32位bit)来表示,具有7位有效数字”】 float类型存储的时候1个bit是符号位,8个bit是指数位,剩下的23个bit是有效数字位...

用Java计算float中的set位【代码】

这是一个访谈问题:如何在Java中计算float中的set位?我想我不应该知道浮点的位表示来回答这个问题.我可以以某种方式将浮点数转换为字节数组吗?我可以使用Java序列化,但它看起来有点过分.解决方法:Float类有:public static int floatToIntBits(float value)根据IEEE 754浮点“单一格式”位布局返回指定浮点值表示的方法. 因此,您可以使用此方法获取位,然后计算设置的位. http://download.oracle.com/javase/7/docs/api/

java – JPA2:@Min约束为float【代码】

是否可以将@Min约束应用于浮点类型? 例如:@Entity public class Stock {@Id@GeneratedValueprivate Long id;@NotNull@Min(0.1)private float count; }@Min注释中需要长类型,那么有没有其他方法可以实现相同的目的?解决方法:@DecimalMax 字段或属性的值必须是小于或等于value元素中的数字的十进制值.@DecimalMax("30.00") BigDecimal discount;@DecimalMin 字段或属性的值必须是大于或等于value元素中的数字的十进制值.@DecimalM...

映射 - 相关标签