java中对除不尽的数怎么处理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中对除不尽的数怎么处理相关的知识,希望对你有一定的参考价值。

比如1/3除不尽怎么办

1,java中因为有各种基本类型,所以还不存在除不尽一说
2,java中的除法计算有“/”,“%”第一个获得的是整除的结果,第二个获得的是余数,所以不存在除不尽。
参考技术A double m=2/3.0;
BigDecimal l=new BigDecimal(Double.toString(m));
double res=l.setScale(6,BigDecimal.ROUND_HALF_UP).doubleValue();
System.out.println(res);
其中6为取小数点后六位
ROUND_HALF_UP表示四舍五入
取得的结果就是:0.666667
参考技术B double m=2/3.0;
BigDecimal l=new BigDecimal(Double.toString(m));
double res=l.setScale(6,BigDecimal.ROUND_HALF_UP).doubleValue();
System.out.println(res);
其中6为取小数点后六位
ROUND_HALF_UP表示四舍五入
取得的结果就是:0.666667本回答被提问者采纳
参考技术C 看你定义的数据类型了。int 是精确到整数,即1/3=0;float是精确到小数点后几位数,double的话精确得多一点。省略的数不进行四舍五入,而是直接不计 参考技术D 对于这种如果是一般的number类型,你取一个精度就OK了!如果是BigDecimal,你就用异常

Java中怎么确定输入的数是几位数

复制以下代码:

int num = 2772;

String str = String.valueOf(num);

System.out.println(str.length());

for(char c : str.toCharArray())

System.out.println(c);

扩展资料:

字符串的长度

public class Test

public static void main(String[] args)

int count = 0;

String regex = "[\\u4e00-\\u9fa5]";

String str = "今天阳光明媚不是吗.";

Pattern p = Pattern.compile(regex);

Matcher m = p.matcher(str);

System.out.print("提取出来的中文有:");

while (m.find())

count++;

System.out.print(m.group() + " ");


System.out.println();

System.out.println("汉字出现的频率:" + count);


参考技术A

主要思想请看代码的第17行的while方法。

如果n的个位数不为0或者n的个位数为0但高位数不为0则用count+1并且将n/10,再次进入循环,直至n为0。n为0时即得到位数count。

代码如下:

运行结果:

扩展资料:

JAVA常用代码段:

1,字符串有整型的相互转换

String a = String.valueOf(2);   //integer to numeric string 

int i = Integer.parseInt(a); //numeric string to an int

2,向文件末尾添加内容

BufferedWriter out = null; 

try  

out = new BufferedWriter(new FileWriter(”filename”, true)); 

out.write(”aString”); 

catch (IOException e)  

// error processing code 

finally  

if (out != null)  

out.close(); 

 

3,得到当前方法的名字

String methodName = Thread.currentThread().getStackTrace()[1].getMethodName();

4,转字符串到日期

java.util.Date = java.text.DateFormat.getDateInstance().parse(date String);

5,把 Java util.Date 转成 sql.Date

java.util.Date utilDate = new java.util.Date(); 

java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());



参考技术B

主要思想请看代码的第17行的while方法

如果n的个位数不为0或者n的个位数为0但高位数不为0则用count+1并且将n/10,再次进入循环,直至n为0。n为0时即得到位数count

代码如下:

运行结果:

参考技术C 转成字符串再找就行

假设那个数叫num

String str = String.valueOf(num);
int count = str.length();

count就是num的位数了
参考技术D 不知道是从console输入的不
大多都有length属性,试试吧
System.out.println("请输入字符串:");
Scanner sc;
sc= new Scanner(System.in);
String str = sc.next();

str的length就是了本回答被提问者采纳

以上是关于java中对除不尽的数怎么处理的主要内容,如果未能解决你的问题,请参考以下文章

Java8中对时间的处理

如何计算复数对除“e”以外的基数的对数?

python 中对redis 操作采用装饰器进行处理,怎么做

强化学习过程中对产生的无效动作应该如何进行屏蔽处理?(强化学习中可变的动作空间怎么处理)

如何密码控制对除 apache 2 中的一个之外的所有 url 的访问

java是如何处理异常的?