BigDecimal去除末尾多余的0

Java有自带的 stripTrailingZeros() 方法用于去除末尾多余的0

 BigDecimal num = new BigDecimal("100.1000");
 BigDecimal numNoEndZero = num.stripTrailingZeros();  //numNoEndZero  :1E+2
 System.out.println(numNoEndZero.toString());

按上面的方法输出结果,会显示科学计数法,所以需要处理一下,解决方法:

 String numNoEndZeroStr = new BigDecimal("100.1000").stripTrailingZeros().toPlainString();   //numNoEndZeroStr  :100.1
 System.out.println(numNoEndZeroStr);

原文地址:https://www.cnblogs.com/zjfjava/p/9931895.html

时间: 2024-10-10 07:55:32

BigDecimal去除末尾多余的0的相关文章

拼凑字符串时,去除末尾多余字符的几个方法

title: 拼凑字符串时,去除末尾多余字符的几个方法 date: 2018-08-17 22:12:58 tags: [Java,方法] --- 在拼接字符串的时候,经常会发现多了,不想要的字符,让人很是烦恼,这下面总结三个可以去掉烦恼的方法. //循环生成json格式数据 public static String CreateJson() { String json="{\"content\":["; for(int i=0;i<5;i++) { json

Android5.0 计算器计算结果不准确和结果末尾的多余的‘0’没有省略的解决方法

Android5.0 计算器计算结果不准确和结果末尾的多余的'0'没有省略 一.问题的描述: [测试步骤] 1.进入计算器 2.输入 100-99.9 3.查看计算结果 [测试结果] 1.结果为: 0.0999999999 [预期结果] 1.结果应为: 0.1 [测试步骤] 1.进入计算器 2.输入1000-999.9,查看结果是否为: 0.1 [测试结果] 1.结果显示为: 0.10000000 [预期结果] 1.计算结果小数点后多余的零应该省略. 二.解决方案:path: <span sty

javascript 去掉小数末尾多余的零

做的项目里需要去掉 小数末尾的零 就自己随手写了一个 var t = "10203000"; alert(cutZero(t)); /* 去掉double类型小数点后面多余的0 参数:old 要处理的字符串或double 返回值:newStr 没有多余零的小数或字符串 例: cutZero(123.000) -> 123 cutZero(123.0001) -> 123.0001 cutZero(10203000.0101000) -> 10203000.0101 c

N的阶乘末尾有多少个0

N的阶乘(N!)中的末尾有多少个0? N的阶乘可以分解为: 2的X次方,3的Y次方,4的5次Z方,.....的成绩.由于10 = 2 * 5,所以M只能和X和Z有关,每一对2和5相乘就可以得到一个10,于是M = MIN(X,Z),不难看出X大于Z,因为被2整除的频率比被5整除的频率高的多. 要计算Z,最直接的方法就是求出N的阶乘的所有因式(1,2,3,...,N)分解中5的指数.然后求和 1 int fun1(int n) 2 { 3 int num = 0; 4 int i,j; 5 6 f

水晶报表动态显示小数点后的位数(去掉多余的0)

今天一来上班,有一个同事就问我如何控制显示数字小数点后面的位数, 如果有三位就显示三位,如果第三位数是0就显示2位小数,以此类推,小数点后如果都是0,就只显示整数. 默认的水晶报表数字字段会带有2或3位小数位,而当字段小数部分为零时,小数位将变成2或3个”0”(如123.000),很多时候我们不想要这几个多余的0,需要字段在有小数时显示小数位,没有小数时自动去掉多余的0.现以直接原料字段为例. 现在我想把直接原料字段动态显示小数位数即红色框框里的多余的0去掉. 此时选中"直接原料字段"

求N!末尾所得数字0的个数

题目:给定一个整数N ,那么N 的阶乘N !末尾有多少个0呢? 例如:N = 10,N! = 3628800,所以N!末尾就有2个零. 分析:如果直接先算出N!阶乘,很容易导致内存溢出.显然,直接算出来是不行的.所以,我们可以换一个角度来分析这个问题.我们知道 N! = 1*2*3*4*......*N,所以,我们可以对N!进行分解质因数.即N! = 2^x * 3^y * 5 ^z........可以看到2和5相乘,必然会产生一个零.那么问题就转化为2^x * 5^z可以产生多少个零就可以了.

【代码笔记】浮点数处理并去掉多余的0

一,代码. - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. NSLog(@"--float-%@-",[self stringDisposeWithFloat:9.000899990000]); } #pragma -mark -functions //浮点数处理并去掉多余的0 -(NSString *)stringDisposeWithFloat

编程之美3——N!末尾有多少个0

因为n!是一个非常大的数,所以不能通过常规的方法,求出n!的值之后,再判断它的末尾有多少个0. 这里的关键就是,n!的末尾有多少个0,取决于n!中,质因数 5 的个数. 如:12!=479001600    ,其中,5.10各含有1个质因数5,所以12!末尾有2个0 代码1: #include <iostream> using namespace std; int main(void) { int n,i,j,m; m=0; cin>>n; for(i=1;i<=n;i++)

求n! 末尾有多少个0

其实是求1到n 每个数的最小质因子有多少个5,有多少个5就有多少个0,因为2的个数明显大于5的个数 #include<iostream> using namespace std; int judge(int i){//计算i的最小质因子里有几个5 int cou=0; while(i%5==0){ cou++; i/=5; } return cou; } int main(){ int n; while(cin>>n){ int cou=0; int ans=0; for(int