
正文
java代码求小数 java求小数位个数
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
使用java语言编写一个计算器, 小数点的按钮如何用代码实现, 比如 1.1234 的输入?
if(temp==".")//判断只能输入一个小数,这个放在actionPerformed里的\x0d\x0a{\x0d\x0a for(int i=0;i
回答于 2022-11-16
相关问答
Q1: 用JAVA编写一个程序,求一个实数中的小数和整数各有多少位,偶数数字有多少个。
import java.util.Arrays;
public class Test {
public static void main(String[] args){
double d=1234.56789d;
String str=String.valueOf(d);
System.out.println("整数位:"+str.indexOf("."));
System.out.println("小数位:"+(str.length()-str.indexOf(".")));
int num1=0;
for(int i=0;istr.length();i++)
{
String str1=str.substring(i,i+1);
int num=0;
try{
num=Integer.parseInt(str1);
}catch(Exception e)
{
continue;
}
if(num%2==0)
{
num1++;
}
}
System.out.print("偶数个数:"+num1);
}
}
Q2: java怎么取实数中的小数部分
首先楼上那两位对于普通java代码求小数的使用场景来说基本是正确的。但是在一些需要精确结果的场景中(比如货币金额计算),double就会有问题了,比如java代码求小数:
(int)1023.99999999999999=1024java代码求小数;
再比如:
double n1=0.03;
double n2=0.02;
double n3=n1-n2;
System.out.println(n3);//0.009999999999999998
所以如果需要精确安全的操作的话,需要用到这个类:java.math.BigDecimal
调用它的divideAndRemainder方法来进行计算,该计算可以理解为:进行一次保留余数的除法运算。结果会返回一个BigDecimal类型且长度为2的数组,0下标的元素是该计算的商,1下标的元素是该结果的余数。
BigDecimal n4=new BigDecimal("1023.99999999999999");
BigDecimal [] result=n4.divideAndRemainder(BigDecimal.valueOf(1));
System.out.println(result[1].toString());//0.99999999999999
注意,构造BigDecimal对象的时候java代码求小数我使用的是字符串String类型的“1023.99999999999999
”,如果直接写1023.99999999999999的话会被认为是double类型的数,然后double类型的该值为1024.0,所以给字符串类型的值可以保证BigDecimal对象接收到的数就准确无误是java代码求小数我们心里想的数。
Q3: java中取小数部分
import java.math.BigDecimal;
import java.util.Scanner;
public class GetFloat {
public static void main(String args[]) {
Scanner in = new Scanner(System.in);
float f = in.nextFloat();
int fInt = (int) f;
BigDecimal b1 = new BigDecimal(Float.toString(f));
BigDecimal b2 = new BigDecimal(Integer.toString(fInt));
float fPoint = b1.subtract(b2).floatValue();
System.out.println("整数部分为:" + fInt + "\n" + "小数部分为: " + fPoint);
}
}
Q4: java中怎么让程序计算小数点的数字?
import java.util.Scanner;
public class Test
{
private double length;
public Test ()
{}
public Test ( double length )
{
this.length = length;
}
public void setLength ( double length )
{
this.length = length;
}
public double getLength ()
{
return this.length;
}
public double getPerimeter ()
{
return length * 4;
}
public double getArea ()
{
return length * length;
}
public static void main ( String[] args )
{
Scanner sc = new Scanner (System.in);
Test test = new Test ();
while (true)
{
System.out.println ("请输入正方形java代码求小数的边长:");
if (sc.hasNextDouble ())
{
test.setLength (sc.nextDouble ());
System.out.println ("正方形java代码求小数的周长是:" + test.getPerimeter () + " , 正方形java代码求小数的面积是:" + test.getArea ());
sc.close ();
break;
}
else
{
sc.nextLine ();
continue;
}
}
}
}
关于java代码求小数和java求小数位个数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。





