当前位置: 首页 > 面试题库 >

Java Float.parseFloat中的舍入

向杜吟
2023-03-14
问题内容

给定以下代码,我希望它返回“ float = 32000.0001”。但是,它返回“ float = 32000.0”。

System.out.println("float = "+Float.parseFloat("32000.0001"));

我可以采取一些措施来防止/控制舍入吗?我要返回没有四舍五入的完整值。


问题答案:

浮点数只有24位精度,不足以容纳您的值中的位数。四舍五入不是由于解析,而是由于数字的大小。如果需要浮点数,则必须使用double;如果需要任意精度,则必须使用BigDecimal。



 类似资料:
  • 问题内容: 让我们看一下下面的Java语句。 在上述陈述中,除以下情况外,所有其他情况都是显而易见的。 它应该返回但它返回。怎么样? 问题答案: 这是故意行为。从文档中: 四舍五入 DecimalFormat使用半个二进位舍入(请参阅ROUND_HALF_EVEN)进行格式化。 关于ROUND_HALF_EVEN: 舍入模式向“最近的邻居”舍入,除非两个邻居都等距,在这种情况下,向偶数邻居舍入。如

  • 我需要将浮点值四舍五入为最接近的整数,就像值为 如果我的价值是 我使用的方法是圆()、地()和固定(),但它只起、下、等号。

  • 我知道javascript中的toFixed()方法将数字转换为字符串,保留指定的小数位数,就像下面显示的代码一样,它将小数点后的位数设置为2。 我的问题是:这个数字是否在必要时四舍五入。在下面的代码中,我将转换数字:0.075。我认为0.075四舍五入应该是0.08,因为“5上升”。然而,在下面的第一个案例中,它看起来很奇怪。所以我很困惑。 我知道这个问题可以用Math.js解决。然而,我只是想

  • 问题内容: 我是Python的初学者,我有一个问题。 为什么用奇数整数部分四舍五入像5.5、7.5((任何).5)这样的数字正确工作(规则5/4),但是用同一个函数将非奇数整数部分像(任何).5进行四舍五入只返回整数部分?(但是,如果我们在该十进制数上加上一个像0.000000001这样的小数字,它将正常工作) 我的意思是下一个: 返回10,这是正确的。但 返回8,这是不正确的。和 返回9。 为什

  • 问题内容: 根据Wikipedia的说法,在四舍五入一个负数时,您对绝对数进行了四舍五入。因此,根据这种推理,-3.5将四舍五入为-4。但是当我使用java.lang.Math.round(-3.5)时返回-3。有人可以解释一下吗? 问题答案: 根据javadoc 返回最接近参数的long。通过将结果加1/2,将结果取底,并将结果强制转换为long类型,将结果舍入为整数。换句话说,结果等于表达式的

  • 我在接受hackerrank的挑战。目的是: 读取(int)N;然后读取N个整数并将其平均值打印到小数点后三位。 这是代码: 当我为一些输入运行代码时: 3#(N的值) 4#(N=3个整数) 4 3 那么输出是3.666,但应该是3.667。 所以问题是,到底是有什么方法可以使它正确(正确的四舍五入),还是它只能这样工作? (当上述代码在hackerrank为挑战的Testcase2运行时,问题就