java 格式化小数_java-如何格式化小数位数精度
正如评论中指出的那样,如果您只有一个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-如何格式化小数位数精度相关推荐
- java 按位置格式化字符串_Java字符串格式化,{}占位符根据名字替换实例
我就废话不多说了,大家还是直接看代码吧~ import java.beans.PropertyDescriptor; import java.lang.reflect.Method; import j ...
- java tostring格式化日期_java日期格式化SimpleDateFormat的使用详解
日期和时间格式由 日期和时间模式字符串 指定.在 日期和时间模式字符串 中,未加引号的字母 'A' 到 'Z' 和 'a' 到 'z' 被解释为模式字母,用来表示日期或时间字符串元素.文本可以使用单引 ...
- java 24字母_java 时间格式化中的模式字母
java日期格式化中的模式字母有特定的意义,由于没有注意,今天在做工程的时候导致出现了奇怪的日期: 错误写法如下: 然而得到了错误的结果: 正确写法如下: 这样就得到了正确的结果 mm指的是分钟,MM ...
- java除法保留两位小数_JAVA除法保留小数点后两位的两种方法
1.利用Math.round()的方法: 两个int型的数相除,结果保留小数点后两位: int a=1188; int b=93; double c; c=(double)(Math.round(a* ...
- java 计算小数_java基础之小数计算
项目中会经常用到小数位的计算.很多人第一感觉会想尝试使用float或者double,然而在精准计算,例如金钱计算中,使用float或者double来计算会出现意想不到后果. 如图所示:并没有得到预期的 ...
- java format 字符_JAVA字符串格式化-String.format()的使用
常规类型的格式化 String类的format()方法用于创建格式化的字符串以及连接多个字符串对象.熟悉C语言的同学应该记得C语言的sprintf()方法,两者有类似之处.format()方法有两种重 ...
- java 格式化解析_java日期格式化、解析
今天移植别人的通用工具类,涉及到了日期的格式化.解析,学习结果记录如下. 日期的格式化器普用的是SimpleDateFormat,它继承了了DateFormat.SimpleDateFormat为用户 ...
- java numberformat异常_Java NumberFormat格式化float类型的bug
首先,这个NumberFormat这个类,可以格式化各种数字.你只要稍微设置一下,结果还是很理性的. 但是,他有那么一丢丢的bug,不知道你知道不? /** * 2.3F经过格式化,竟然变成2.99啦 ...
- java单精度浮点_Java 浮点数的范围和精度
本篇先介绍IEEE754标准中针对浮点数的规范,然后以问答形式补充有关浮点数的知识点. (一)IEEE754标准 IEEE 754 标准即IEEE浮点数算术标准,由美国电气电子工程师学会(IEEE)计 ...
- java 乘法保留两位小数_java.math.BigDecimal保留两位小数,保留小数,精确位数
java保留两位小数问题: 方式一(四舍五入形式保留两位小数,注意模式ROUND_HALF_UP): 四舍五入 double f = 111231.5585; BigDecimal b ...
最新文章
- h5上传图片_怎么搭建自己的H5响应式网站
- CRM下午茶(23)-维护客户关系的最佳工具
- dm9000 driver 2
- SAP S/4HANA生产订单释放后自动同步到MES系统
- 使用JDBCTemplate实现与Spring结合,方法公用 ——Emp实现类(EmpDaoImpl)
- cli命令行界面 demo_Java命令行界面(第24部分):MarkUtils-CLI
- matlab 进度条/waitbar 显示运行进度
- python tkinter库函数详解_Python使用tkinter库进行GUI编程中常用事件处理方式汇总
- Spark基础学习笔记14:Scala数据结构
- 在子视图中获取父视图的控制器
- php var_dump和var_export区别
- 自动控制原理学习笔记--反馈控制系统的动态模型
- 冷酷仙境与世界尽头——《葫芦兄弟》人物赏析 作者:马伯庸
- Spring控制Bean加载顺序
- C++将类写在头文件中
- Windows 9x、2K、XP、2003注册表大全
- db4o数据库的基本操作
- py2neo.database.work.ClientError: [Procedure.ProcedureNotFound]
- 使用字节流和字符流向浏览器输出数据
- 2021年芒种是几月几号?芒种习俗有哪些 ?