正如评论中指出的那样,如果您只有一个String表示形式,那么就无法判断它实际上是否有重复的部分,或者精度是否不够高.

===更新===

我正在研究一个用分子和分母表示为BigIntegers的有理数的类(并假定尽可能地简化).在那里,我实现了一种以十进制字符串形式表示的方法,并提出了以下方法:

public String toDecimalString() {

var result = new StringBuilder();

var remainders = new HashMap();

if(!isNonNegative()) result.append("-");

var divAndRem = numerator.abs().divideAndRemainder(denominator);

result.append(divAndRem[0].toString());

if(isWholeNumber()) return result.toString();

result.append(".");

int currentPosition = result.length();

remainders.put(divAndRem[1], currentPosition);

while(!divAndRem[1].equals(BigInteger.ZERO)) {

divAndRem = divAndRem[1].multiply(BigInteger.TEN).divideAndRemainder(denominator);

result.append(divAndRem[0].toString());

if(remainders.containsKey(divAndRem[1])) {

int periodStart = remainders.get(divAndRem[1]);

return result.substring(0, periodStart)+"["+result.substring(periodStart)+"]";

}

remainders.put(divAndRem[1], ++currentPosition);

}

return result.toString();

}

java 格式化小数_java-如何格式化小数位数精度相关推荐

  1. java 按位置格式化字符串_Java字符串格式化,{}占位符根据名字替换实例

    我就废话不多说了,大家还是直接看代码吧~ import java.beans.PropertyDescriptor; import java.lang.reflect.Method; import j ...

  2. java tostring格式化日期_java日期格式化SimpleDateFormat的使用详解

    日期和时间格式由 日期和时间模式字符串 指定.在 日期和时间模式字符串 中,未加引号的字母 'A' 到 'Z' 和 'a' 到 'z' 被解释为模式字母,用来表示日期或时间字符串元素.文本可以使用单引 ...

  3. java 24字母_java 时间格式化中的模式字母

    java日期格式化中的模式字母有特定的意义,由于没有注意,今天在做工程的时候导致出现了奇怪的日期: 错误写法如下: 然而得到了错误的结果: 正确写法如下: 这样就得到了正确的结果 mm指的是分钟,MM ...

  4. java除法保留两位小数_JAVA除法保留小数点后两位的两种方法

    1.利用Math.round()的方法: 两个int型的数相除,结果保留小数点后两位: int a=1188; int b=93; double c; c=(double)(Math.round(a* ...

  5. java 计算小数_java基础之小数计算

    项目中会经常用到小数位的计算.很多人第一感觉会想尝试使用float或者double,然而在精准计算,例如金钱计算中,使用float或者double来计算会出现意想不到后果. 如图所示:并没有得到预期的 ...

  6. java format 字符_JAVA字符串格式化-String.format()的使用

    常规类型的格式化 String类的format()方法用于创建格式化的字符串以及连接多个字符串对象.熟悉C语言的同学应该记得C语言的sprintf()方法,两者有类似之处.format()方法有两种重 ...

  7. java 格式化解析_java日期格式化、解析

    今天移植别人的通用工具类,涉及到了日期的格式化.解析,学习结果记录如下. 日期的格式化器普用的是SimpleDateFormat,它继承了了DateFormat.SimpleDateFormat为用户 ...

  8. java numberformat异常_Java NumberFormat格式化float类型的bug

    首先,这个NumberFormat这个类,可以格式化各种数字.你只要稍微设置一下,结果还是很理性的. 但是,他有那么一丢丢的bug,不知道你知道不? /** * 2.3F经过格式化,竟然变成2.99啦 ...

  9. java单精度浮点_Java 浮点数的范围和精度

    本篇先介绍IEEE754标准中针对浮点数的规范,然后以问答形式补充有关浮点数的知识点. (一)IEEE754标准 IEEE 754 标准即IEEE浮点数算术标准,由美国电气电子工程师学会(IEEE)计 ...

  10. java 乘法保留两位小数_java.math.BigDecimal保留两位小数,保留小数,精确位数

    java保留两位小数问题: 方式一(四舍五入形式保留两位小数,注意模式ROUND_HALF_UP): 四舍五入 double   f   =   111231.5585; BigDecimal   b ...

最新文章

  1. h5上传图片_怎么搭建自己的H5响应式网站
  2. CRM下午茶(23)-维护客户关系的最佳工具
  3. dm9000 driver 2
  4. SAP S/4HANA生产订单释放后自动同步到MES系统
  5. 使用JDBCTemplate实现与Spring结合,方法公用 ——Emp实现类(EmpDaoImpl)
  6. cli命令行界面 demo_Java命令行界面(第24部分):MarkUtils-CLI
  7. matlab 进度条/waitbar 显示运行进度
  8. python tkinter库函数详解_Python使用tkinter库进行GUI编程中常用事件处理方式汇总
  9. Spark基础学习笔记14:Scala数据结构
  10. 在子视图中获取父视图的控制器
  11. php var_dump和var_export区别
  12. 自动控制原理学习笔记--反馈控制系统的动态模型
  13. 冷酷仙境与世界尽头——《葫芦兄弟》人物赏析  作者:马伯庸
  14. Spring控制Bean加载顺序
  15. C++将类写在头文件中
  16. Windows 9x、2K、XP、2003注册表大全
  17. db4o数据库的基本操作
  18. py2neo.database.work.ClientError: [Procedure.ProcedureNotFound]
  19. 使用字节流和字符流向浏览器输出数据
  20. 2021年芒种是几月几号?芒种习俗有哪些 ?

热门文章

  1. 基于RobotFramework实现自动化测试
  2. ubuntu安装zsh、oh-my-zsh及常用配置
  3. linux dns及时添加,在ARM Linux上成功实现添加DNS库
  4. Python二级笔记(18,19合集知识点篇)
  5. MySQL学习(2)
  6. php用到的mysql语句_PHP中常用到的一些MySQL语句_php
  7. 进程调度rr算法java实现_Java实现进程调度算法(二) RR(时间片轮转)
  8. memcached 的基本命令
  9. Docker入门-简介
  10. MIP技术交流分享(3月9日)