标签:java 解决 new text 相等 lin print 打印 要求
BigDecimal testData = new BigDecimal("3000000.000");
System.out.println("直接转换成字符串后输出:" + testData.toString());
System.out.println("去掉尾部无用的零转并转换成字符串后输出:" + testData.stripTrailingZeros().toString());
System.out.println("只展示数值:" + testData.stripTrailingZeros().toPlainString());
System.out.println("工程计数法输出:" + testData.stripTrailingZeros().toEngineeringString());
测试结果:
直接转换成字符串后输出:3000000.00
去掉尾部无用的零转并转换成字符串后输出:3E+6
只展示数值:3000000
工程计数法输出:3E+6
toPlainString
|
toString
|
toEngineeringString
|
1000
|
1 * 10^3
|
1 * 10^3
|
10000
|
1 * 10^4
|
10 * 10^3
|
100000
|
1 * 10^5
|
100 * 10^3
|
1000000
|
1 * 10^6
|
1 * 10^6
|
public static void main(String[] args) {
BigDecimal ratio= new BigDecimal("0.00");
System.out.println(ratio.stripTrailingZeros().toPlainString());
// 自行判断,判断相等的时候,使用comparTo(),equals()不靠谱
if (0 == BigDecimal.ZERO.compareTo(ratio)) {
System.out.println("0");
}
if (!BigDecimal.ZERO.equals(ratio)) {
System.out.println(" 居然不相等 ");
}
}
标签:java 解决 new text 相等 lin print 打印 要求
原文地址:https://www.cnblogs.com/east7/p/11708141.html