判断数值有效位数的Java工具类详解编程语言
2023-06-13 09:20:30 时间
public static String adjustDouble(String s,int numOfIntPart,int numOfDecimalPart){
//按小数点的位置分割成整数部分和小数部分
String[] array = s.split("//.");
char[] tempA=new char[numOfIntPart];
char[] tempB=new char[numOfDecimalPart];
//整数部分满足精度要求(情况1)
if(array[0].length()==numOfIntPart){
//直接获取整数部分长度字符
for(int i=0;i array[0].length();i++){
tempA[i]=array[0].charAt(i);
//小数部分精度大于或等于指定的精度
if(numOfDecimalPart =array[1].length()){
for(int i=0;i numOfDecimalPart;i++){
tempB[i]=array[1].charAt(i);
//小数部分精度小于指定的精度
if(numOfDecimalPart array[1].length()){
for(int i=0;i numOfDecimalPart;i++){
if(i array[1].length()){
tempB[i]=array[1].charAt(i);
}else{
tempB[i]=0;
//先倒序获取指定位数的整数 for(int i=array[0].length()-1,j=0;(i =array[0].length()-numOfIntPart) (j numOfIntPart);i--,j++){ tempA[j]=array[0].charAt(i); System.out.println(tempA[j]); char[] tempA1=new char[numOfIntPart]; //调整顺序 for(int j=0,k=tempA.length-1;j numOfIntPart (k j++,k--){ tempA1[j]=tempA[k]; System.out.println("tempA1[j]"+tempA1[j]); //小数部分精度大于或等于指定的精度 if(numOfDecimalPart =array[1].length()){ for(int i=0;i numOfDecimalPart;i++){ tempB[i]=array[1].charAt(i); //小数部分精度小于指定的精度 if(numOfDecimalPart array[1].length()){ for(int i=0;i numOfDecimalPart;i++){ if(i array[1].length()){ tempB[i]=array[1].charAt(i); }else{ tempB[i]=0;
//先倒序获取指定位数的整数 for(int i=array[0].length()-1,j=0;(i =array[0].length()-numOfIntPart+1) (j numOfIntPart);i--,j++){ //System.out.println(" "+(i-array[0].length()+1)); tempA[j]=array[0].charAt(i); char[] tempA1=new char[numOfIntPart]; //调整顺序 for(int j=0,k=tempA.length-1;j numOfIntPart (k j++){ tempA1[j]=tempA[k]; k--; //小数部分精度小于指定的精度 if(numOfDecimalPart array[1].length()){ for(int i=0;i numOfDecimalPart;i++){ if(i =array[1].length()){ tempB[i]=0; }else{ tempB[i]=array[1].charAt(i);
char[] tempA1=new char[numOfIntPart]; for(int i=array[0].length()-1,j=0;(i =numOfIntPart-array[0].length()-(numOfIntPart-array[0].length())) (j numOfIntPart);i--,j++){ tempA1[j]=array[0].charAt(i); System.out.println(" tempA1[j]"+tempA1[j]); //补0 for(int i=array[0].length();i array[0].length()+numOfIntPart-array[0].length();i++){ tempA1[i]=0; System.out.println(" "+tempA1[i]); char[] tempA2=new char[numOfIntPart]; //调整顺序 for(int j=0,k=tempA1.length-1;j numOfIntPart (k j++){ tempA2[j]=tempA1[k]; k--; //小数部分精度小于指定的精度 if(numOfDecimalPart array[1].length()){ for(int i=0;i numOfDecimalPart;i++){ if(i array[1].length()){ tempB[i]=array[1].charAt(i); }else{ tempB[i]=0;
//情况(6) if((array[0].length() numOfIntPart) (array[1].length() numOfDecimalPart)){ for(int i=0; i numOfIntPart-array[0].length(); i++){ s = "0"+s ;
//先倒序获取指定位数的整数 for(int i=array[0].length()-1,j=0;(i =array[0].length()-numOfIntPart) (j numOfIntPart);i--,j++){ tempA[j]=array[0].charAt(i); System.out.println(tempA[j]); char[] tempA1=new char[numOfIntPart]; //调整顺序 for(int j=0,k=tempA.length-1;j numOfIntPart (k j++,k--){ tempA1[j]=tempA[k]; System.out.println("tempA1[j]"+tempA1[j]); //小数部分精度大于或等于指定的精度 if(numOfDecimalPart =array[1].length()){ for(int i=0;i numOfDecimalPart;i++){ tempB[i]=array[1].charAt(i); //小数部分精度小于指定的精度 if(numOfDecimalPart array[1].length()){ for(int i=0;i numOfDecimalPart;i++){ if(i array[1].length()){ tempB[i]=array[1].charAt(i); }else{ tempB[i]=0;
//先倒序获取指定位数的整数 for(int i=array[0].length()-1,j=0;(i =array[0].length()-numOfIntPart+1) (j numOfIntPart);i--,j++){ //System.out.println(" "+(i-array[0].length()+1)); tempA[j]=array[0].charAt(i); char[] tempA1=new char[numOfIntPart]; //调整顺序 for(int j=0,k=tempA.length-1;j numOfIntPart (k j++){ tempA1[j]=tempA[k]; k--; //小数部分精度小于指定的精度 if(numOfDecimalPart array[1].length()){ for(int i=0;i numOfDecimalPart;i++){ if(i =array[1].length()){ tempB[i]=0; }else{ tempB[i]=array[1].charAt(i);
char[] tempA1=new char[numOfIntPart]; for(int i=array[0].length()-1,j=0;(i =numOfIntPart-array[0].length()-(numOfIntPart-array[0].length())) (j numOfIntPart);i--,j++){ tempA1[j]=array[0].charAt(i); System.out.println(" tempA1[j]"+tempA1[j]); //补0 for(int i=array[0].length();i array[0].length()+numOfIntPart-array[0].length();i++){ tempA1[i]=0; System.out.println(" "+tempA1[i]); char[] tempA2=new char[numOfIntPart]; //调整顺序 for(int j=0,k=tempA1.length-1;j numOfIntPart (k j++){ tempA2[j]=tempA1[k]; k--; //小数部分精度小于指定的精度 if(numOfDecimalPart array[1].length()){ for(int i=0;i numOfDecimalPart;i++){ if(i array[1].length()){ tempB[i]=array[1].charAt(i); }else{ tempB[i]=0;
//情况(6) if((array[0].length() numOfIntPart) (array[1].length() numOfDecimalPart)){ for(int i=0; i numOfIntPart-array[0].length(); i++){ s = "0"+s ;
10919.html
cjava相关文章
- protostuff java_Protostuff一键序列化工具、Protobuf JAVA实现
- java json转xml 工具类_xml与json
- Java 8 的 java.util.function.* POJO 的反射新方法
- 利用Hutool-(Java工具类)实现验证码校验
- 【Java】jar启动的java程序报错FileNotFoundException
- Java开源报表工具 JasperReports
- Java屏幕截图工具 捕获屏幕详解编程语言
- Java导出excel工具类详解编程语言
- Java 反射工具类详解编程语言
- Java 等额本金等额本息工具类详解编程语言
- Java复制文件工具类详解编程语言
- 生成若干位数的随机ID的Java工具类详解编程语言
- List 排序 Java工具类详解编程语言
- Java工具类详解编程语言
- 注册MySQL,让你的Java技能更上一层楼(java注册mysql)
- Java实现MSSQL数据库连接(java连接mssql)
- Java调用Linux库实现跨系统功能(java调用linux库)
- Linux下开发靠谱的Java应用(linux基于java)
- Java搭配MySQL,实现创新跳跃的可能(java 与mysql)
- 从Java应用程序中实现Oracle配置连接(java配置oracle)
- 数据库Java编程修改Oracle数据库的实践(java修改oracle)
- 进行操作学会使用Java玩转Redis(在java中队redis)
- 并发Redis锁保障Java并发性(redis锁实现java)