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

Java浮点数123.129456至123.12不取整

郭胤
2023-03-14
问题内容

如何在不使用舍入的情况下将Java中的 float 原语减少到 两位小数

123.99999 to 123.99
-8.022222 to -8.02

仅舍入小数点后两位不应该四舍五入。

第二点是如何 验证 或计算点后的小数位数?:

123.99 will give true or 2
123.999 will give false or 3

更新

数字是字符串输入,因此我认为我会按照建议进行操作;并且我将只有int try / catch块用于任何异常。欢迎提供任何建议以更智能的方式进行这项工作:

public static float onlyTwoDecimalPlaces(String number) {
    StringBuilder sbFloat = new StringBuilder(number);
    int start = sbFloat.indexOf(".");
    if (start < 0) {
        return new Float(sbFloat.toString());
    }
    int end = start+3;
    if((end)>(sbFloat.length()-1)) end = sbFloat.length();

    String twoPlaces = sbFloat.substring(start, end);
    sbFloat.replace(start, sbFloat.length(), twoPlaces);
    return new Float(sbFloat.toString());
}

问题答案:

首先,不能保证仅因为浮点数可以a.bcde精确表示,所以可以保证它可以精确表示a.bc

因此,如果您只需要打印部分,那么如何进行一些字符串操作呢?使用找到小数点,indexOf并使用提取两个小数部分substring



 类似资料:
  • 问题内容: 任何人都可以取悦我,为什么以下程序的输出不是“不同”? o / p:不同 问题答案: 6.5具有有限的二进制表示形式:110.1 具有至少4个有效位的任何浮点类型都可以完美地表示该数字。 110.100000000000000000000(浮点) = 6.5 110.100000000000000000000000000000000000000000000000000000000000

  • 3.2. 浮点数 Go语言提供了两种精度的浮点数,float32和float64。它们的算术规范由IEEE754浮点数国际标准定义,该浮点数规范被所有现代的CPU支持。 这些浮点数类型的取值范围可以从很微小到很巨大。浮点数的范围极限值可以在math包找到。常量math.MaxFloat32表示float32能表示的最大数值,大约是 3.4e38;对应的math.MaxFloat64常量大约是1.8

  • 我有Java应用程序,它集中处理2D浮动数组(float[][]数组),实际上在黑色背景上保存图像。两个维度是相等的(平方)并且是2的幂(通常是256、512、1024),所以靠近边界的区域在大多数情况下都是零。 为了提高性能(有一些FFT)和降低在这些阵列上操作的复杂性(如旋转等),大小等于2的幂。根据我的计算,这个应用程序的内存消耗应该达到2-3Gb,而达到4-5Gb(查看Windows任务管

  • 问题内容: 我正在尝试删除列表中为负的浮点值。具有所有值的原始列表如下所示: 在我运行一个循环之后,显示列表如下所示: 因此,某些负面信息,例如被删除,而其他则没有。为什么是这样? 问题答案: 您正在遍历列表并对其进行变异,这意味着您最终删除了错误的元素,可以使用reversed: 或制作副本: 您还可以使用列表组件来修改原始列表:

  • 问题内容: 我很困惑为什么在这种情况下python为什么要添加一些额外的十进制数,请帮助解释 问题答案: 浮点数是一个近似值,它们不能精确存储十进制数。因为它们试图仅用64位表示很大范围的数字,所以它们必须在某种程度上近似。 意识到这一点非常重要,因为它会导致一些怪异的副作用。例如,你可能会非常合理认为,十批的总和会。尽管这似乎合乎逻辑,但在浮点数方面也是错误的: 您可能会认为。浮点世界再次不同意

  • 11.1.3 浮点数 在计算机中,浮点数一般由三部分组成:数值的符号位、阶码和有效数字(以后简称为尾数)。这种浮点数是用科学记数法来表示的,即:浮点数=符号位.有效数字×2阶码。 Intel系列的协处理器支持3种形式的浮点数:短型浮点数(32位)、长型浮点数(64位)和临时浮点数(80位),它们分别对应单精度、双精度和扩展精度浮点数。这些浮点数的数据格式都符合IEEE-754标准,它们的具体格式如