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

小数点后加n个零

何麻雀
2023-03-14
问题内容

我需要给出用户输入的数字的准确性,直到几位数。例如,如果用户输入了一些随机值并给出了他希望精确到三位数,那么我需要将数字四舍五入到小数点后三位。所以我做了这样的事情

 int index = value.indexOf('.'); 
            if (index >= 0)
            {
                String fractional = value.substring(index);

                if (fractional.length() > decimalPlaces)
                {
                    floatValue = roundOffDecimals(floatValue, decimalPlaces);
                }
            }
            retVal = new Float(floatValue);

但是,当用户输入某个值但不输入任何值作为小数位时,我需要将其显示为小数点后的零值。例如15是他的数字,3是他的准确性,那么我需要将数字显示为15.000

当十进制始终更改时,我无法显示零。请帮忙。我尝试了DeciamlFormat df = new DecimalFormat(“”,#。##);
但采用静态值。我的准确性不断变化。

任何帮助将不胜感激。


问题答案:

您可以创建一个返回小数位数确切格式的方法。这是一个例子:

public String formatNumber(int decimals, double number) {
    StringBuilder sb = new StringBuilder(decimals + 2);
    sb.append("#.");
    for(int i = 0; i < decimals; i++) {
        sb.append("0");
    }
    return new DecimalFormat(sb.toString()).format(number);
}

如果您不需要decimals经常更改值,则可以将方法更改为:

public DecimalFormat getDecimalFormat(int decimals) {
    StringBuilder sb = new StringBuilder(decimals + 2);
    sb.append("#.");
    for(int i = 0; i < decimals; i++) {
        sb.append("0");
    }
    return new DecimalFormat(sb.toString());
}


 类似资料:
  • 将求解第一个点的第一个圆放置在适当位置。 通过检查这两个点之间的距离是否小于2*r来求解最小圈数中的第二个点。并继续处理所有n个点。我认为是贪婪算法,但它是最优的,线性的吗?

  • 问题内容: 我正在从文件中读取数据,对其进行修改并将其写入另一个文件。新文件将被另一个程序读取,因此保持准确的格式至关重要 例如,输入文件中的数字之一是: 我的脚本对列应用了一些数学运算,应该返回 但是目前返回的是 我怎么会写一个浮动例如,作为一个文件? 问题答案: 将其格式化为6位小数: 演示: 该函数按照给定的格式说明将值转换为字符串。

  • 本文向大家介绍实现js保留小数点后N位的代码,包括了实现js保留小数点后N位的代码的使用技巧和注意事项,需要的朋友参考一下 在JS中,一般实现保留小数点后N位的话,都是利用toFixed函数 四舍五入的转换函数,如下: 参数里的: v表示要转换的值 e表示要保留的位数 函数里的两个for,这个是重点了, 第一个for针对小数点右边的情况,也就是保留小数点右边多少位; 第二个for针对小数点左边的情

  • 我正在从一个文件中读取数据,修改它并将其写入另一个文件。新文件将由另一个程序读取,因此保留精确的格式至关重要 例如,我输入文件中的一个数字是: 我的脚本对列应用了一些数学运算,应该会返回 但目前返回的是 我如何将浮点值(例如)写入一个文件中?

  • 题目链接 Lintcode 题目描述 把 n 个骰子扔在地上,求点数和为 s 的概率。 解题思路 动态规划 使用一个二维数组 dp 存储点数出现的次数,其中 dp[i][j] 表示前 i 个骰子产生点数 j 的次数。 空间复杂度:O(N2) // java public List<map.entry> dicesSum(int n) { final int face = 6; fi

  • 问题内容: 在我的中,我需要使用,但是我不确定如何截断到2个小数位: 示例:获取 打印为: 问题答案: 用这个: