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);
主要思想请看代码的第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());
主要思想请看代码的第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中对除不尽的数怎么处理的主要内容,如果未能解决你的问题,请参考以下文章
python 中对redis 操作采用装饰器进行处理,怎么做
强化学习过程中对产生的无效动作应该如何进行屏蔽处理?(强化学习中可变的动作空间怎么处理)