用java取整

用java取整,java,decimal,Java,Decimal,我有一个包含许多十进制值的列表 如果我得到一个.032的值,我必须 四舍五入到3.2% 如果我得到一个值 我得把它四舍五入到32.33分 32% 如果我得到32.66的值,我必须将其四舍五入到33% 如果十进制数字为5、6、7、8或9 集合到下一个 我应该如何处理这个问题?并将其转换为百分比形式 我对.032案表示怀疑。其余的看起来不错。并将其转换为百分比形式 我对.032案表示怀疑。其余的看起来不错。使用。如果小数部分为0.5或更大,则正确地将数字向上舍入。使用。如果分数部分为0.5或更大

我有一个包含许多十进制值的列表

  • 如果我得到一个.032的值,我必须 四舍五入到3.2%
  • 如果我得到一个值 我得把它四舍五入到32.33分 32%
  • 如果我得到32.66的值,我必须将其四舍五入到33%
  • 如果十进制数字为5、6、7、8或9 集合到下一个
我应该如何处理这个问题?

并将其转换为百分比形式

我对
.032
案表示怀疑。其余的看起来不错。

并将其转换为百分比形式


我对
.032
案表示怀疑。其余的看起来不错。

使用。如果小数部分为0.5或更大,则正确地将数字向上舍入。

使用。如果分数部分为0.5或更大,则正确地将数字向上舍入。

如果我正确理解您的问题:

对于第一点,您可以使用
DecimalFormat
class,请参见

我不知道你为什么要“四舍五入”32.33->32%,因为这不是四舍五入。如果您正在解析用户输入数据(可以通过这种方式给出),那么可以除以100(给出0.3233)并使用DecimalFormat


对于其他问题,如果我正确理解您的问题,您可以使用下面/上面建议的
Math.round()

对于第一点,您可以使用
DecimalFormat
class,请参见

我不知道你为什么要“四舍五入”32.33->32%,因为这不是四舍五入。如果您正在解析用户输入数据(可以通过这种方式给出),那么可以除以100(给出0.3233)并使用DecimalFormat

对于其他的,您可以使用下面/上面建议的
Math.round()
使用(Apache Commons Math)

比例小数点右侧的位数。(+/-)
roundingMethod
BigDecimal
。向下取整,#。上限取整,#。向上取整,

使用(Apache Commons Math)

比例小数点右侧的位数。(+/-)

取整方法
大十进制
。向下取整,#。上限取整,#。向上取整,

您确定第一条规则正确吗?它似乎与其他规则不匹配。您确定第一条规则正确吗?它似乎和其他的不匹配。Thnx伙计们。tha math.round有帮助。我想说的是。示例:结果0.322将显示32%(四舍五入删除小数,如果小数位数是5,6,7,8或9四舍五入),如果是示例:结果0.023将显示2.3%(如果小数位数是5,6,7,8或9,那么用百分数加一位小数,因为我是初学者,如果有人能告诉我逻辑,那将非常有帮助。只需比较“否”并决定它。Thnx guys.tha math.round有帮助。我想说的是。示例:结果0.322将显示32%(四舍五入删除小数,如果小数位数是5,6,7,8或9四舍五入),如果是示例:结果0.023将显示2.3%(以百分比表示,小数位数为一位小数,如果小数位数是5,6,7,8或9四舍五入,因为我是初学者,如果有人能给我逻辑,这将非常有用。只需比较“否”并确定它。
MathUtils.round(double, scale, roundingMethod);