草庐IT

bigdecimal

全部标签

java - BigDecimal - 使用 new 或 valueOf

我遇到了两种从双d中获取BigDecimal对象的方法。newBigDecimal(d)BigDecimal.valueOf(d)哪种方法更好?valueOf会创建一个新对象吗?一般情况下(不仅仅是BigDecimal),推荐什么-new或valueOf? 最佳答案 这是两个独立的问题:“我应该为BigDecimal使用什么?”和“我一般会做什么?”对于BigDecimal:这有点棘手,因为它们不做同样的事情。BigDecimal.valueOf(double)将使用canonicalStringrepresentation传入的d

java - 将 float 四舍五入到小数点后两位的最佳做法是什么?

这个问题在这里已经有了答案:HowtoroundanumbertondecimalplacesinJava(39个回答)关闭5年前。我正在使用eclipse+AndroidSDK。我需要将浮点值四舍五入到小数点后两位。我通常使用数学库使用下一个“技巧”。floataccelerometerX=accelerometerX*100;accelerometerX=round(accelerometerX);Log.d("Test",""+accelerometerX/100);但我觉得这不是最好的方法。是否有库可以执行这些类型的操作? 最佳答案

java - 将 float 四舍五入到小数点后两位的最佳做法是什么?

这个问题在这里已经有了答案:HowtoroundanumbertondecimalplacesinJava(39个回答)关闭5年前。我正在使用eclipse+AndroidSDK。我需要将浮点值四舍五入到小数点后两位。我通常使用数学库使用下一个“技巧”。floataccelerometerX=accelerometerX*100;accelerometerX=round(accelerometerX);Log.d("Test",""+accelerometerX/100);但我觉得这不是最好的方法。是否有库可以执行这些类型的操作? 最佳答案

java - 安全字符串到 BigDecimal 的转换

我正在尝试从字符串中读取一些BigDecimal值。假设我有这个字符串:“1,000,000,000.999999999999999”,我想从中得到一个BigDecimal。有什么办法呢?首先,我不喜欢使用字符串替换(替换逗号等)的解决方案。我认为应该有一些简洁的格式化程序来为我完成这项工作。我找到了一个DecimalFormatter类,但是当它通过double运行时,会丢失大量的精度。那么,我该怎么做呢? 最佳答案 查看setParseBigDecimal以十进制格式。使用此setter,parse将为您返回一个BigDecim

java - 安全字符串到 BigDecimal 的转换

我正在尝试从字符串中读取一些BigDecimal值。假设我有这个字符串:“1,000,000,000.999999999999999”,我想从中得到一个BigDecimal。有什么办法呢?首先,我不喜欢使用字符串替换(替换逗号等)的解决方案。我认为应该有一些简洁的格式化程序来为我完成这项工作。我找到了一个DecimalFormatter类,但是当它通过double运行时,会丢失大量的精度。那么,我该怎么做呢? 最佳答案 查看setParseBigDecimal以十进制格式。使用此setter,parse将为您返回一个BigDecim

java - BigDecimal equals() 与 compareTo()

考虑简单的测试类:importjava.math.BigDecimal;/***@authorTheEliteGentleman**/publicclassMain{/***@paramargs*/publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubBigDecimalx=newBigDecimal("1");BigDecimaly=newBigDecimal("1.00");System.out.println(x.equals(y));System.out.println(x.compareTo(y)==

java - BigDecimal equals() 与 compareTo()

考虑简单的测试类:importjava.math.BigDecimal;/***@authorTheEliteGentleman**/publicclassMain{/***@paramargs*/publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubBigDecimalx=newBigDecimal("1");BigDecimaly=newBigDecimal("1.00");System.out.println(x.equals(y));System.out.println(x.compareTo(y)==

java - java - 如何检查Java中的BigDecimal变量是否== 0?

我在Java中有以下代码;BigDecimalprice;//assignedelsewhereif(price.compareTo(newBigDecimal("0.00"))==0){returntrue;}if条件最好的写法是什么? 最佳答案 使用compareTo(BigDecimal.ZERO)而不是equals():if(price.compareTo(BigDecimal.ZERO)==0)//seebelow与BigDecimal相比常数BigDecimal.ZERO避免每次执行都必须构造一个newBigDecima

java - java - 如何检查Java中的BigDecimal变量是否== 0?

我在Java中有以下代码;BigDecimalprice;//assignedelsewhereif(price.compareTo(newBigDecimal("0.00"))==0){returntrue;}if条件最好的写法是什么? 最佳答案 使用compareTo(BigDecimal.ZERO)而不是equals():if(price.compareTo(BigDecimal.ZERO)==0)//seebelow与BigDecimal相比常数BigDecimal.ZERO避免每次执行都必须构造一个newBigDecima

java - 如何将 DecimalFormat 的小数点分隔符从逗号更改为点/点?

我有一个疯狂的小方法,可以将BigDecimal值转换为漂亮且可读的字符串。privateStringformatBigDecimal(BigDecimalbd){DecimalFormatdf=newDecimalFormat();df.setMinimumFractionDigits(3);df.setMaximumFractionDigits(3);df.setMinimumIntegerDigits(1);df.setMaximumIntegerDigits(3);df.setGroupingSize(20);returndf.format(bd);}然而,它也产生了一个所谓的