当前位置: 首页 > 知识库问答 >
问题:

如何在浮点数中获取3个字符?

吕作人
2023-03-14

我有像0.152545这样的浮点值,我只想要0.1f。< br >这怎么可能..< br >通过使用String,我获得了字符串值。下面的代码显示了结果。

 String pass = pass.substring(0, Math.min(pass.length(), 3));
 pass=pass+"f";

这给了我字符串值,如0.1f,但我只想要浮点值,如0.1f。

共有3个答案

呼延烈
2023-03-14

你可以做:

DecimalFormat format = new DecimalFormat("0.0");
format.setRoundingMode(RoundingMode.DOWN);
format.setMaximumFractionDigits(1);
System.out.println(format.format(0.152545) + "f");
丁立果
2023-03-14

你可以使用大十进制。

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();
郝杰
2023-03-14

这将是您应该使用DecimalFormat的适当位置#f将是您的情况下的模式。

查找有关java中数字格式的更多信息。

一些相关的问题 -

  • 只显示小数点后的两位数字
  • 使用DecimalFormat格式化数字
 类似资料:
  • 问题内容: 我有一个像 从上面的字符串中,我需要获取一个值。 当我使用替换所有功能。 当字符串有两个点时,这将不起作用。 浮点值的位置可能有所不同。 问题答案: 首先丢弃所有非float字符,然后像这样隐秘给Float:

  • 问题内容: 我有许多类似于的字符串,我只想提取浮点数。我说的是浮动而不是十进制,因为有时它是完整的。RegEx可以这样做还是有更好的方法? 问题答案: 如果你的浮点数始终以十进制表示,则类似于 可能就足够了。 一个更强大的版本是: 如果要验证用户输入,也可以通过直接移至浮动来检查浮动:

  • 我在学习如何使用java 8流时,发现了一些奇怪的事情。 <代码>数组。stream()具有除浮点数组之外的所有方法: <代码>数组。流(int[]):int流 同样,有int、双精度等的Stream实现,但没有浮点数: 有什么原因吗? 使用浮动流的推荐方法是什么?

  • 我试图得到浮点数的尾数(只是为了学习),但它没有按预期工作。 比如说5.3的尾数是53,对吗?我尝试了以下代码: 它打印了2726298。它不应该去掉指数位并留下53吗?我尝试了很多事情,但总是这样。我做错了什么?

  • 如果我想要浮点数中的点后3位数字,该怎么办? 如果那么我想要的值为

  • 我有一个程序,它运行在两个处理器上,其中一个不支持浮点运算。所以,我需要在处理器中使用定点执行浮点计算。为此,我将使用浮点仿真库。 我需要首先在支持浮点的处理器上提取浮点数的符号、尾数和指数。所以,我的问题是如何得到单精度浮点数的符号、尾数和指数。 按照此图的格式,