当前位置: 首页 > news >正文

JAVA语言编写一个方法,两个Long参数传入,使用BigDecimal类,计算相除四舍五入保留2位小数返回百分数。

在Java中,你可以使用BigDecimal类来执行精确的浮点数计算,并且可以指定结果的小数位数。以下是一个方法,它接受两个Long类型的参数,并使用BigDecimal来计算它们的商,然后将结果四舍五入到两位小数,并返回一个表示百分比的字符串。

import java.math.BigDecimal;  
import java.math.RoundingMode;  public class PercentageCalculator {  /**  * 计算两个Long数值的百分比,结果保留两位小数。  *  * @param numerator   分子  * @param denominator 分母  * @return 计算后的百分比字符串,格式为"XX.XX%"  */  public static String calculatePercentage(Long numerator, Long denominator) {  // 创建BigDecimal对象  BigDecimal bigNumerator = BigDecimal.valueOf(numerator);  BigDecimal bigDenominator = BigDecimal.valueOf(denominator);  // 计算百分比,并设置结果的小数位数和舍入模式  BigDecimal percentage = bigNumerator.divide(bigDenominator, 2, RoundingMode.HALF_UP).multiply(new BigDecimal(100));  // 格式化输出,保留两位小数并添加百分号  return percentage.setScale(2, RoundingMode.HALF_UP).toString() + "%";  }  public static void main(String[] args) {  // 测试方法  Long num1 = 100L;  Long num2 = 123L;  String percentage = calculatePercentage(num1, num2);  System.out.println("The percentage is: " + percentage);  }  
}

在上面的代码中,calculatePercentage方法首先创建了两个BigDecimal对象来表示传入的Long数值。然后,它使用divide方法计算百分比,并通过multiply方法乘以100来得到百分比形式的结果。最后,它使用setScale方法来设置结果的小数位数为两位,并使用RoundingMode.HALF_UP作为舍入模式。结果以字符串形式返回,并附加了百分号。

main方法中,我们调用calculatePercentage方法并打印出计算后的百分比。在这个例子中,输出应该是The percentage is: 81.30%

相关文章:

JAVA语言编写一个方法,两个Long参数传入,使用BigDecimal类,计算相除四舍五入保留2位小数返回百分数。

在Java中,你可以使用BigDecimal类来执行精确的浮点数计算,并且可以指定结果的小数位数。以下是一个方法,它接受两个Long类型的参数,并使用BigDecimal来计算它们的商,然后将结果四舍五入到两位小数,并返回一…...

SQL教学:掌握MySQL数据操作核心技能--DML语句基本操作之“增删改查“

大家好,今天我要给大家分享的是SQL-DML语句教学。DML,即Data Manipulation Language,也就是我们常说的"增 删 改 查",是SQL语言中用于操作数据库中数据的一部分。作为MySQL新手小白,掌握DML语句对于数据库数…...

【性能测试】Jmeter性能压测-阶梯式/波浪式场景总结(详细)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、阶梯式场景&am…...

前端面试 跨域理解

2 实现 2-1 JSONP 实现 2-2 nginx 配置 2-2 vue 开发中 webpack自带跨域 2 -3 下载CORS 插件 或 chrome浏览器配置跨域 2-4 通过iframe 如:aaa.com 中读取bbb.com的localStorage 1)在aaa.com的页面中,在页面中嵌入一个src为bbb.com的iframe&#x…...

JetBrains TeamCity 身份验证绕过漏洞复现(CVE-2024-27198)

0x01 产品简介 JetBrains TeamCity是一款由JetBrains开发的持续集成和持续交付(CI/CD)服务器。它提供了一个功能强大的平台,用于自动化构建、测试和部署软件项目。TeamCity旨在简化团队协作和软件交付流程,提高开发团队的效率和产品质量。 0x02 漏洞概述 JetBrains Team…...

设计模式—单例模式

单例模式(Singleton Pattern)是一种常用的软件设计模式,其核心思想是确保一个类仅有一个实例,并提供一个全局访问点来获取这个实例。单例模式主要用于控制资源的访问,比如配置文件的读取,数据库的连接等&am…...

Android在后台读取UVC摄像头的帧数据流并推送

Android在后台读取UVC摄像头的帧数据流并推送 添加UvcCamera依赖库 使用原版的 saki4510t/UVCCamera 在预览过程中断开可能会闪退,这里使用的是 jiangdongguo/AndroidUSBCamera 中修改的版本,下载到本地即可。 https://github.com/jiangdongguo/AndroidU…...

vue单向数据流介绍

Vue.js 的单向数据流是其核心设计原则之一,也是 Vue 响应式系统的基础。在 Vue.js 中,数据流主要是单向的,从父组件流向子组件。这种设计有助于保持组件之间的清晰通信,减少不必要的复杂性和潜在的错误。 以下是 Vue 单向数据流的…...

OpenMMlab AI实战营第四期培训

OpenMMlab AI实战营第四期培训 OpenMMlab实战营第四次课2023.2.6学习参考一、什么是目标检测1.目标检测下游视觉任务2.图像分类 v.s. 目标检测 二、目标检测实现1.滑窗 Sliding Window2.滑窗的效率问题3.改进思路(1)消除滑窗中的重复计算(2&a…...

React轻松开发平台:实现高效、多变的应用开发范本

在当今快节奏的软件开发环境中,追求高效、灵活的应用开发方式成为了开发团队的迫切需求。React低代码平台崭露头角,为开发人员提供了一种全新的开发范式,让开发过程更高效、更灵活,从而加速应用程序的开发周期和交付速度。 1. 快…...

多域名SSL证书:保护多个网站的安全之选

什么是多域名SSL证书? 多域名SSL证书,顾名思义,是指一张SSL证书可以保护多个域名。与传统的单域名SSL证书相比,多域名SSL证书可以在一个证书中绑定多个域名,无需为每个域名单独购买和安装SSL证书。这样不仅可以节省成…...

HarmonyOS—HAP唯一性校验逻辑

HAP是应用安装的基本单位,在DevEco Studio工程目录中,一个HAP对应一个Module。应用打包时,每个Module生成一个.hap文件。 应用如果包含多个Module,在应用市场上架时,会将多个.hap文件打包成一个.app文件(称…...

金三银四,程序员如何备战面试季

金三银四,程序员如何备战面试季 一个人简介二前言三面试技巧分享3.1 自我介绍 四技术问题回答4.1 团队协作经验展示 五职业规划建议5.1 短期目标5.2 中长期目标 六后记 一个人简介 🏘️🏘️个人主页:以山河作礼。 🎖️…...

VUE3项目学习系列--项目配置(二)

在项目团队开发过程中,多人协同开发为保证项目格式书写格式统一标准化,因此需要进行代码格式化校验,包括在代码编写过程中以及代码提交前进行自动格式化,因此需要进行在项目中进行相关的配置使之代码格式一致。 一、eslint配置 …...

idea:springboot项目搭建

目录 一、创建项目 1、File → New → Project 2、Spring Initializr → Next 3、填写信息 → Next 4、web → Spring Web → Next 5、填写信息 → Finish 6、处理配置不合理内容 7、注意事项 7.1 有依赖包,却显示找不到依赖,刷新一下maven 二…...

如何保证某个程序系统内只运行一个,保证原子性

GetMapping("/startETL") // Idempotent(expireTime 90, info "请勿90秒内连续点击")public R getGaugeTestData6() {log.info("start ETL");//redis设置t_data_load_record 值为2bladeRedis.set("t_data_load_record_type", 2);Str…...

golang常见面试题

1. go语言有哪些优点、特性? 语法简便,容易上手。 支持高并发,go有独特的协程概念,一般语言最小的执行单位是线程,go语言支持多开协程,协程是用户态线程,协程的占用内存更少,协程只…...

探索Python编程世界:从入门到精通

一.Python 从入门到精通 随着计算机科学的发展,编程已经成为了一种必备的技能。而 Python 作为一种简单易学、功能强大的编程语言,越来越受到人们的喜爱。本文将为初学者介绍 Python 编程的基础知识,帮助他们踏入 Python 编程的大门&#xf…...

Spark Shuffle Tracking 原理分析

Shuffle Tracking Shuffle Tracking 是 Spark 在没有 ESS(External Shuffle Service)情况,并且开启 Dynamic Allocation 的重要功能。如在 K8S 上运行 spark 没有 ESS。本文档所有的前提都是基于以上条件的。 如果开启了 ESS,那么 Executor 计算完后&a…...

Docker 干货系列 (持续更新)

dive 直接用本地镜像名称来启动,不需要走 hub dive.sh IMAGE_NAME"${1}" TMP_FILE/tmp/dive-tmp-image.tar docker save "$IMAGE_NAME" > $TMP_FILE && dive $TMP_FILE --sourcedocker-archive && rm $TMP_FILE示例&#…...

2026.5.21【MIPI D-PHY】一、D-PHY 简介

一、简介 MIPI:全称移动行业处理器接口(Mobile Industry Processor Interface)。MIPI是由MIPI联盟发起的为移动应用处理器制定的开放标准。 MIPI可分为物理层和逻辑层两大部分。 MIPI按照物理层(Physical Standard)划分…...

激光器物理理论模型:从经典到量子,工程师如何选择?

1. 激光器物理理论模型全景概览激光,这束高度相干、单色、定向的光,其诞生与运作背后,是一套极其精密的物理法则。对于从事光电子、激光技术研发,乃至物理研究的工程师和学者而言,理解这些法则的不同描述层次&#xff…...

CNN与量化神经网络在高能物理实时触发系统中的应用

1. WOMBAT架构概述:当CNN遇上高能物理在大型强子对撞机(LHC)的紧凑型μ子螺线管(CMS)实验中,每秒产生约4000万次质子碰撞事件。传统触发系统需要处理海量数据流,而WOMBAT架构的创新之处在于将卷…...

RLHF工程化实践:用合成反馈替代人工标注的完整闭环

1. 这不是“替代人类”的口号,而是一套可落地的RLHF工程闭环“Build Your Own RLHF LLM — Forget Human Labelers!” 这个标题一出来,很多同行第一反应是皱眉——不是质疑技术可行性,而是警惕它背后可能隐含的简化主义陷阱。我带过三轮大模型…...

【Midjourney印象派风格创作指南】:20年AI视觉专家亲授5大核心参数调优法,3步生成莫奈级画作

更多请点击: https://kaifayun.com 第一章:印象派美学与AI生成的底层耦合逻辑 印象派绘画摒弃精确轮廓与固有色,转而捕捉瞬时的光色颤动、视觉暂留与感知模糊性——这种对“未完成感”“概率性呈现”和“感知优先于表征”的推崇,…...

从UISegmentedControl迁移到TwicketSegmentedControl:完整迁移指南

从UISegmentedControl迁移到TwicketSegmentedControl:完整迁移指南 【免费下载链接】TwicketSegmentedControl Custom UISegmentedControl replacement for iOS, written in Swift 项目地址: https://gitcode.com/gh_mirrors/tw/TwicketSegmentedControl 想要…...

RBTray:让Windows窗口管理更优雅的托盘神器

RBTray:让Windows窗口管理更优雅的托盘神器 【免费下载链接】rbtray A fork of RBTray from http://sourceforge.net/p/rbtray/code/. 项目地址: https://gitcode.com/gh_mirrors/rb/rbtray 你是否经常面对杂乱的Windows桌面,打开太多程序导致任务…...

AI如何从“0”到“1”设计一把完美的“蛋白钥匙”?

你是否想过,在微观的生命世界里,无数的生命活动都像是一把把精密的钥匙打开一把把特定的锁?蛋白质之间的相互作用正是这套机制的核心。找到那把独一无二的“钥匙”,一直是生命科学研究者们追求的目标。 过去的挑战:大…...

大模型终于看懂立体几何!中科院联合阿里提出统一形式语言,刷新解析SOTA

论文详细解读:使用统一形式化语言的平面与立体几何图形解析 论文标题:Geoparsing: Diagram Parsing for Plane and Solid Geometry with a Unified Formal Language作者机构:中国科学院自动化研究所(CASIA)、中国科学…...

LangFuse与LangSmith区别

文章目录🔄 **核心定位对比**🎯 **适用场景差异**💡 **为什么两者并存?**🔄 核心定位对比 LangSmith(LangChain官方): 闭源产品,由LangChain官方提供深度集成&#xff…...