Java实现四舍五入,有什么不足恳请指正
来源:互联网 发布:安永西安分所知乎 编辑:程序博客网 时间:2024/04/27 04:38
- public class RoundTool {
- public static String round(double num, int dotNum) {
- double temp = 1.0;//用于五入时直接进位
- for (int i = 0; i < dotNum; i++) {
- temp = temp / 10;
- }
- String strNum = String.valueOf(num);
- int dotLoca = strNum.indexOf(".");// 确定小数点位置
- String beforStr = null;
- if ((strNum.substring(dotLoca)).length() - 1 > dotNum) {// 如果给出的数小数点位数大于要求保留小数点位数
- beforStr = strNum.substring(0, dotLoca + dotNum + 1);// 从头开始截取所要求保留小数点前一位
- String endStr = strNum.substring(dotLoca + dotNum + 1, dotLoca
- + dotNum + 2);// 截取要求保留小数位数后一位
- if (Integer.parseInt(endStr) >= 5) {//五入
- double beforTemp = Double.valueOf(beforStr);
- beforStr = String.valueOf(beforTemp + temp);
- }
- if (beforStr.substring(dotLoca).length() -1< dotNum) {//五入后小数点后几位0自动舍去后补足
- int intTemp = dotNum - beforStr.substring(dotLoca).length() + 1;
- for (int i = 0; i < intTemp; i++) {
- beforStr = beforStr + 0;
- }
- }
- } else {//给出数小数点位数不足需保留位数补0
- beforStr = strNum;
- int intTemp = dotNum - beforStr.substring(dotLoca).length() + 1;
- for (int i = 0; i < intTemp; i++) {
- beforStr = beforStr + 0;
- }
- }
- return beforStr.substring(0,dotLoca+dotNum+1);
- }
- public static void main(String[] args) {
- System.out.println(RoundTool.round(123.456789, 3));
- }
- }
- Java实现四舍五入,有什么不足恳请指正
- 关于结构体的一些讲解,恳请大家指正
- 各种编译器有什么特点和不足
- java中实现四舍五入
- 小小记录一下,有不足的地方还希望各位大佬指正
- java基础概念整理,上课培训笔记,希望大家指正不足
- C语言实现trim函数,若有问题,请指正
- java实现精确的"四舍五入"
- java实现精确的"四舍五入"
- Java实现四舍五入的方法
- 现代UNIX系统有什么设计上的不足么
- java实现线程的两种方法有什么区别?
- java类实现serializable有什么好处或意义
- java(j2se)学习笔记----如何实现四舍五入?
- java实现数字的(四舍五入)算法
- 初学Java 请指正
- java四舍五入
- java 四舍五入
- sharepoint 2010 扩展富文本框上传图片功能extend InputFormTextBox for uploading image
- 分析函数
- java用户登录拦截判断
- hive列转行--行转列问题
- 天地图 javascript api 调用测试一例
- Java实现四舍五入,有什么不足恳请指正
- SQL Server 数据库设计
- C#透明窗体及按钮的效果浅析
- 数据结构基础_对一个数组进行升序排序
- Mozilla,Epic携手打造Unreal 3 游戏引擎
- String,StringBuffer,StringBuilder的区别
- OU 库存组织 子库 关系
- 生存期
- c++ 利用函数模板将int float等数字转换成string类型