计算数据百分比,最多保留两位小数

计算数据百分比,当数据超过两位小数时,四舍五入保留两位小数,当数据不足两位小数,不做任何处理。
使用正则过滤,toFixed 不足小数位数,会默认补0,所以使用正则表达式,包含2位及以上的小数点,才进行四舍五入保留
function calc(count) {
  const reg = /\d+\.\d{2,}$/
  let val = (sum ? count / sum : 0) * 100
  if (reg.test(val.toString())) {
    val = val.toFixed(2)
  }
  return val + '%'
}

### Java 实现百分比计算保留两位小数 为了在Java中实现百分比计算保留两位小数,可以采用`BigDecimal`类来进行精确的小数运算以及指定舍入模式。此外,也可以利用`DecimalFormat`或`NumberFormat`类来格式化输出。 #### 方法一:使用 `BigDecimal` 当涉及到高精度的算术操作时推荐使用此方式。下面是一段基于`BigDecimal`完成两个数值间比率转成带两位小数点后的百分比字符串的例子: ```java import java.math.BigDecimal; import java.math.RoundingMode; public class PercentageCalculation { public static void main(String[] args) { BigDecimal numerator = new BigDecimal("45"); // 分子 BigDecimal denominator = new BigDecimal("90"); // 分母 // 防止除零错误 if (denominator.compareTo(BigDecimal.ZERO) != 0){ BigDecimal percentage = numerator.divide(denominator, 4, RoundingMode.HALF_UP).multiply(new BigDecimal("100")); // 将结果四舍五入到最接近的值,并保持2位有效数字 String formattedPercentage = percentage.setScale(2,RoundingMode.HALF_UP).toString() + "%"; System.out.println(formattedPercentage); } } } ``` 这段代码展示了如何安全地执行除法运算,同时确保不会发生除以零的情况[^3]。 #### 方法二:使用 `DecimalFormat` 对于只需要简单格式化的场景来说,这种方法更加便捷。这里给出一段示范性的源码片段用于将任意double类型的变量转换为带有百分号且只显示至多两位小数的形式: ```java import java.text.DecimalFormat; public class FormatPercentagesWithDecimals { public static void main(String[] args) { double value = 0.786; // 原始比例值 // 创建一个新的实例对象 DecimalFormat df = new DecimalFormat("#0.00%"); // 应用自定义模式对输入参数进行格式化处理 String result = df.format(value); System.out.println(result); } } ``` 上述例子中的`"#0.00%"`模板指定了最终输出应至少有一位整数部分(如果没有则补足),最多两位小数部分,并附加一个百分号作为结尾字符[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值