Java 如何在float中提取3个字符?
我的浮点值为0.152545,我只需要0.1f。Java 如何在float中提取3个字符?,java,Java,我的浮点值为0.152545,我只需要0.1f。 这是如何可能的.. 通过使用字符串,我得到了字符串值 String pass = pass.substring(0, Math.min(pass.length(), 3)); pass=pass+"f"; 这给了我像0.1f这样的字符串值,但我只想要像0.1f这样的浮点值。这将是您应该使用的合适位置,而#f将是您案例的模式 一些相关问题- 这将是您应该使用的合适位置,\f将是您案例的模式 一些相关问题- 怎么样 float
这是如何可能的..
通过使用字符串,我得到了字符串值
String pass = pass.substring(0, Math.min(pass.length(), 3));
pass=pass+"f";
这给了我像0.1f这样的字符串值,但我只想要像0.1f这样的浮点值。这将是您应该使用的合适位置,而
#f
将是您案例的模式
一些相关问题-
\f
将是您案例的模式
一些相关问题-
- 怎么样
float new = Math.round( 10.0 * f ) / 10.0;
它并不精确,因为浮点数/双精度数只是1/2^n的有限级数的和,但对您来说可能足够好了
也许您应该考虑使用一个有效的小数点,并在内部保持完整的精度
干杯,怎么样
float new = Math.round( 10.0 * f ) / 10.0;
它并不精确,因为浮点数/双精度数只是1/2^n的有限级数的和,但对您来说可能足够好了
也许您应该考虑使用一个有效的小数点,并在内部保持完整的精度
干杯,你可以用一个大十进制
float f = 0.152545f;
BigDecimal bd = new BigDecimal(f);
bd = bd.setScale(1, RoundingMode.DOWN);
f = bd.floatValue();
即使将浮点存储为字符串,也可以正常工作
String floatAsString = "0.152545";
BigDecimal bd = new BigDecimal(floatAsString);
bd = bd.setScale(1, RoundingMode.DOWN);
float f = bd.floatValue();
你可以用一个大十进制
float f = 0.152545f;
BigDecimal bd = new BigDecimal(f);
bd = bd.setScale(1, RoundingMode.DOWN);
f = bd.floatValue();
即使将浮点存储为字符串,也可以正常工作
String floatAsString = "0.152545";
BigDecimal bd = new BigDecimal(floatAsString);
bd = bd.setScale(1, RoundingMode.DOWN);
float f = bd.floatValue();
你可以做:
DecimalFormat format = new DecimalFormat("0.0");
format.setRoundingMode(RoundingMode.DOWN);
format.setMaximumFractionDigits(1);
System.out.println(format.format(0.152545) + "f");
你可以做:
DecimalFormat format = new DecimalFormat("0.0");
format.setRoundingMode(RoundingMode.DOWN);
format.setMaximumFractionDigits(1);
System.out.println(format.format(0.152545) + "f");
你为什么不把它转换成一个浮点数并设置你想要的精度呢?只是一个用法说明:十分之一,0.1,没有精确的位表示,而浮点数只是一个近似值(用1/32,1/64,1/128求和,…)。所以1000*0.1不是100.0。你为什么不把它转换成一个浮点数,并设置你想要的精度呢?只是一个用法说明:十分之一,0.1,没有精确的位表示,而浮点数只是一个近似值(用1/32,1/64,1/128等求和)。所以1000*0.1不是100.0。