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

大小数修剪到小数点后两位[重复]

商宏爽
2023-03-14

下面的代码给了我大约14位小数。我怎样才能把它修剪到小数点后2位?

public class BigDecimalGenerator
     {     public static void main(String[] args)
    
     {  BigDecimal max = new BigDecimal("50.00");   
        BigDecimal min = new BigDecimal("-50.00");  
        BigDecimal range = max.subtract(min);   
        BigDecimal result = min.add(range.multiply(new BigDecimal(Math.random())));  
        System.out.println(result);     }
     }

共有2个答案

夏立果
2023-03-14

设置舍入模式和比例。

BigDecimal max = new BigDecimal("50.00");
BigDecimal min = new BigDecimal("-50.00");
BigDecimal range = max.subtract(min);
BigDecimal result = min
        .add(range.multiply(new BigDecimal(Math.random())));

result = result.setScale(2,RoundingMode.HALF_UP);

System.out.println(result);

打印出类似的内容。

-31.28
潘兴朝
2023-03-14

BigDecimal上使用此方法

setScale(int newScale, int roundingMode)

使用所需的比例(2)和舍入模式。

 类似资料:
  • 问题内容: 应该很容易。我本来是用javascript来做的,但是在设置我的处理程序页面中的表单之前必须先做。无论如何,我需要使这些值具有2个小数位。Ex 219333.5888888必须为219333.58。有修剪功能或其他功能吗? 问题答案: 这是格式化十进制值的简单示例

  • 我想把54.5345四舍五入到54.54,也就是说,如果我有第三个小数位,那么我想在第二个小数位上加1。 我试过用math.round但如果第三小数小于5,它总是四舍五入

  • 问题内容: 我想知道如何在不舍入原始数字的情况下输出带两位小数的数字。 例如: 我已经尝试过: 问题答案: 您要使用命令。 https://dev.mysql.com/doc/refman/8.0/zh-TW/mathematical- functions.html#function_truncate

  • 问题内容: 我有以下JavaScript语法: 这四舍五入为整数。如何返回两位小数的结果? 问题答案: 注-如果3位数精度很重要,请参阅编辑4 toFixed将根据超过2个小数的值为您舍入或舍入。 编辑 -正如其他人所提到的,它将结果转换为字符串。为了避免这种情况: 编辑2- 正如注释中所提到的,此函数在某种程度上会失败,例如在1.005的情况下,它将返回1.00而不是1.01。如果准确性在这个程

  • 我如何四舍五入到两个小数位?

  • 将双精度数字相乘,从输出中取小数点后两位 expectedRenewalAmount的输出是,那么我们如何用两个十进制数格式化上述输出 预期: